« 2006年12月 | メイン | 2007年02月 »

2007年01月 アーカイブ

2007年01月05日

光量子による干渉縞の話

まずは光の干渉縞実験について

光源と壁の間に縦に1本の隙間(スリット)の開いた壁をはさむと、奥の壁には




このような1本の光の縞が映る。光の縞のまわりにはぼんやりとした半影も映る。

スリットを2本にすると、奥の壁には2本の光の縞が映るのではなく



このように光と影の縞模様が映し出される。

これが光の干渉縞といわれるものだ。

光は電磁波だからこのような現象となる。

しかし、光は粒子でもある。
では粒子として1個ずつ照射したらどうなるであろうか
奥の壁の変わりに高感度の検出器を置いて


検出器には結局このような干渉パターンが記録されるといわれている。

いったい1個の光量子が何と干渉しているのでしょう?

2007年01月07日

Round1:Athlon64x2で計測 酔漢さんのコード

サイトを整理していて
Athlon64、Core、Core2の実力を知りたくなってきました。
サーキット整備班のページが一番充実していますので、そこから始めさせていただきました。
結果は以下のとおり

AMD Athlon(tm) 64 X2 Dual Core Processor 30+(2000MHz)
Signature : 0FB1
FPU MMX KNI 3DNow! CMOV
秒数はエントリーの実行にかかる時間です
====================
File : R1HORIE.DLL
Creator Signature : Horie, Seiichi. 1999.May.8

i486 Optimized Code 5.14 sec. 103
P6 Optimized Code 5.17 sec. 103
3DNow! SIMD Optimized Code 3.56 sec. 71
3DNow! SISD Straight Code 3.53 sec. 71

K6、Pentium!!! などの結果はこちら Round1:Orbit なのですがどうでしょう

Round1:Athlon64x2 もうひとつのコード

AMD Athlon(tm) 64 X2 Dual Core Processor 30+(2000MHz)
Signature : 0FB1
FPU MMX KNI 3DNow! CMOV
秒数はエントリーの実行にかかる時間です
====================
File : r1kazu86.dll
Creator Signature : Iwata Kazunari,1999.4.29

VC++ Enterprise Generated Code 6.65 sec. 133
i486 Optimized Code 5.17 sec. 103

Round1:Athlon64x2 うるりさん

SSEコードがあるのがうれしい
うるりさんありがとう

AMD Athlon(tm) 64 X2 Dual Core Processor 30+(2000MHz)
Signature : 0FB1
FPU MMX KNI 3DNow! CMOV
秒数はエントリーの実行にかかる時間です
====================
File : R1URURI.dll
Creator Signature : うるり 1999/08/30

VC6 Pro. Generated Code(from SDK) 5.81 sec. 116
C言語 で最適化 5.67 sec. 113
FPU で最適化 5.03 sec. 101
FPU で最適化(with fxch) 5.04 sec. 101
3DNow!(SISD) で FPU を置き換え♪ 4.00 sec. 80
3DNow!(SIMD) で最適化♪ 3.28 sec. 66
3DNow!(SIMD) で最適化(OoO for K6)♪ 3.25 sec. 65
SSE(SISD) で FPU を置き換え♪ 2.61 sec. 52
SSE(SIMD) で 3DNow!(SIMD) を置き換え♪ 2.96 sec. 59
SSE(SIMD) で最適化♪ 2.87 sec. 58

Round1:AthlonXP うるりさん

AMD Athlon(tm) XP 3000+(2171MHz)
Signature : 06A0
FPU MMX KNI 3DNow! CMOV
秒数はエントリーの実行にかかる時間です
====================
File : R1URURI.dll
Creator Signature : うるり 1999/08/30

VC6 Pro. Generated Code(from SDK) 4.50 sec. 98
C言語 で最適化 4.50 sec. 98
FPU で最適化 3.93 sec. 85
FPU で最適化(with fxch) 3.96 sec. 86
3DNow!(SISD) で FPU を置き換え♪ 3.13 sec. 68
3DNow!(SIMD) で最適化♪ 2.58 sec. 56
3DNow!(SIMD) で最適化(OoO for K6)♪ 2.58 sec. 56
SSE(SISD) で FPU を置き換え♪ 2.05 sec. 45
SSE(SIMD) で 3DNow!(SIMD) を置き換え♪ 2.32 sec. 50
SSE(SIMD) で最適化♪ 2.25 sec. 49

2007年01月09日

Round1:intel Core うるりさん

ProsessorNameが出てませんがCore Duo(1666MHz)です。

Signature : 06E8
FPU MMX KNI CMOV
秒数はエントリーの実行にかかる時間です
====================
File : R1URURI.dll
Creator Signature : うるり 1999/08/30
VC6 Pro. Generated Code(from SDK) 8.35 sec. 139
C言語 で最適化 8.26 sec. 138
FPU で最適化 7.95 sec. 132
FPU で最適化(with fxch) 7.96 sec. 133
SSE(SISD) で FPU を置き換え♪ 2.54 sec. 42
SSE(SIMD) で 3DNow!(SIMD) を置き換え♪ 2.92 sec. 49
SSE(SIMD) で最適化♪ 2.71 sec. 45

うわさどおりほぼP6コア?でしょうか

Round1:PentiumM うるりさん

PentiumM(1600MHz)です。

Signature : 06D8
FPU MMX KNI CMOV
秒数はエントリーの実行にかかる時間です
====================
File : R1URURI.dll
Creator Signature : うるり 1999/08/30
VC6 Pro. Generated Code(from SDK) 8.57 sec. 137
C言語 で最適化 8.48 sec. 136
FPU で最適化 8.17 sec. 131
FPU で最適化(with fxch) 8.18 sec. 131
SSE(SISD) で FPU を置き換え♪ 2.65 sec. 42
SSE(SIMD) で 3DNow!(SIMD) を置き換え♪ 3.18 sec. 51
SSE(SIMD) で最適化♪ 2.86 sec. 46

Round1: Pentium4 うるりさん

Pentium4(3000MHz)です。

Signature : 0F4A
FPU MMX KNI CMOV
秒数はエントリーの実行にかかる時間です
====================
File : R1URURI.dll
Creator Signature : うるり 1999/08/30
VC6 Pro. Generated Code(from SDK) 6.34 sec. 190
C言語 で最適化 5.96 sec. 179
FPU で最適化 5.15 sec. 155
FPU で最適化(with fxch) 5.43 sec. 163
SSE(SISD) で FPU を置き換え♪ 2.48 sec. 75
SSE(SIMD) で 3DNow!(SIMD) を置き換え♪ 2.74 sec. 82
SSE(SIMD) で最適化♪ 3.01 sec. 90

Round2:Athlon64 うるりさん

AuthenticAMD
AMD Athlon(tm) 64 X2 Dual Core Processor 30+(2000MHz)
Signature : 0FB1
FPU MMX KNI 3DNow! CMOV
秒数はエントリーの実行にかかる時間です
====================
File : R2URURI.dll
Creator Signature : うるり 2000/01/05
C言語 SDKコード(VC6Pro Blend) 4.22E+001 mS 8443 cycle
C言語 一時変数使用 1.30E+001 mS 2608 cycle
C言語 ループ展開 8.64E+000 mS 1728 cycle
x87 3.69E+000 mS 738 cycle
x87 (with fxch) 5.34E+000 mS 1067 cycle
x87 (SOA)(OoO) 2.10E+000 mS 420 cycle
3DNow! 2.62E+000 mS 524 cycle
3DNow! (SOA) 2.40E+000 mS 479 cycle
3DNow! (SOA)(OoO for K6) 2.34E+000 mS 467 cycle
3DNow! (SOA)(OoO for K7) 2.10E+000 mS 421 cycle
SSE (SOA) 1.95E+000 mS 389 cycle
SSE (SOA)(OoO) 1.87E+000 mS 374 cycle
MMX (16bit fixed) 2.47E+000 mS 494 cycle
MMX (16bit fixed)(SOA) 1.59E+000 mS 318 cycle

Round2 AthlonXP うるりさん

AuthenticAMD
AMD Athlon(tm) XP 3000+(2171MHz)
Signature : 06A0
FPU MMX KNI 3DNow! CMOV
秒数はエントリーの実行にかかる時間です
====================
File : R2URURI.dll
Creator Signature : うるり 2000/01/05
C言語 SDKコード(VC6Pro Blend) 3.95E+002 mS 8567 cycle
C言語 一時変数使用 1.37E+002 mS 2982 cycle
C言語 ループ展開 9.36E+001 mS 2032 cycle
x87 4.93E+001 mS 1071 cycle
x87 (with fxch) 5.07E+001 mS 1100 cycle
x87 (SOA)(OoO) 3.95E+001 mS 858 cycle
3DNow! 2.45E+001 mS 532 cycle
3DNow! (SOA) 2.22E+001 mS 481 cycle
3DNow! (SOA)(OoO for K6) 1.96E+001 mS 426 cycle
3DNow! (SOA)(OoO for K7) 1.88E+001 mS 407 cycle
SSE (SOA) 2.97E+001 mS 645 cycle
SSE (SOA)(OoO) 2.92E+001 mS 634 cycle
MMX (16bit fixed) 2.37E+001 mS 515 cycle
MMX (16bit fixed)(SOA) 1.62E+001 mS 353 cycle

Round2 Athlon64 全充

AuthenticAMD
AMD Athlon(tm) 64 X2 Dual Core Processor 30+(2000MHz)
Signature : 0FB1
FPU MMX KNI 3DNow! CMOV
秒数はエントリーの実行にかかる時間です
====================
File : r2kazu.dll
Creator Signature : Iwata, Kazunari. 1999.Jun.27
x87 Code 9.22E+001 mS 1843 cycle
3DNow! SIMD Entry 7.34E+001 mS 1469 cycle
x87 pairring 1.28E+002 mS 2555 cycle
3DNow! SIMD pairring 7.21E+001 mS 1441 cycle
3DNow! SIMD pairing2 7.40E+001 mS 1479 cycle
x86 Fixed 7.03E+001 mS 1406 cycle

Round2 Athlon64 酔漢さん

AuthenticAMD
AMD Athlon(tm) 64 X2 Dual Core Processor 30+(2000MHz)
Signature : 0FB1
FPU MMX KNI 3DNow! CMOV
秒数はエントリーの実行にかかる時間です
====================
File : R2HORIE.DLL
Creator Signature : Horie, Seiichi. 1999.Sep.7
OoO 3DNow! SIMD 3.45E+001 mS 689 cycle
OoO 3DNow! SISD 5.81E+001 mS 1163 cycle
OoO FPU 5.06E+001 mS 1012 cycle
InO FPU LT=3 7.26E+001 mS 1452 cycle
InO FPU LT=2 7.31E+001 mS 1462 cycle
InO FPU Straight 5.74E+001 mS 1148 cycle
InO 3DNow! SIMD 3.58E+001 mS 716 cycle
InO 3DNow! SISD 6.25E+001 mS 1250 cycle

Round2 Athlon64 くろさん

AuthenticAMD
AMD Athlon(tm) 64 X2 Dual Core Processor 30+(2000MHz)
Signature : 0FB1
FPU MMX KNI 3DNow! CMOV
秒数はエントリーの実行にかかる時間です
====================
File : R2KURO.dll
Creator Signature : KUROI. 1999.NOV.17
SSE (SoA) 2.21E+001 mS 443 cycle

Round2 Athlon64 danteさん

AuthenticAMD
AMD Athlon(tm) 64 X2 Dual Core Processor 30+(2000MHz)
Signature : 0FB1
FPU MMX KNI 3DNow! CMOV
秒数はエントリーの実行にかかる時間です
====================
File : r2dante.dll
Creator Signature : Dante 1999.10.30
ループ展開 VC++6.0/BLEND 1.05E+002 mS 2095 cycle
ループ展開 VC++6.0/for P6 1.05E+002 mS 2094 cycle
ループ展開 IC++4.0/for P6 1.07E+002 mS 2133 cycle
ループ展開 IC++4.0/for P5 8.79E+001 mS 1758 cycle
ループ展開(v0~v3) VC++6.0/BLEND 5.97E+001 mS 1195 cycle
ループ展開(v0~v3) VC++6.0/for P6 6.08E+001 mS 1216 cycle
ループ展開(v0~v3) IC++4.0/for P6 5.91E+001 mS 1183 cycle
ループ展開(v0~v3) IC++4.0/for P5 6.23E+001 mS 1245 cycle
ループ構造逆転 VC++6.0/BLEND 6.85E+001 mS 1371 cycle
ループ構造逆転 VC++6.0/for P6 7.04E+001 mS 1408 cycle
ループ構造逆転 IC++4.0/for P6 1.21E+002 mS 2425 cycle
ループ構造逆転 IC++4.0/for P5 1.25E+002 mS 2504 cycle

2007年01月10日

Round2 Intel Core うるりさん

GenuineIntel(Core 1666MHz)

Signature : 06E8
FPU MMX KNI CMOV
秒数はエントリーの実行にかかる時間です
====================
File : R2URURI.dll
Creator Signature : うるり 2000/01/05
C言語 SDKコード(VC6Pro Blend) 2.67E+002 mS 4456 cycle
C言語 一時変数使用 1.78E+002 mS 2969 cycle
C言語 ループ展開 9.42E+001 mS 1570 cycle
x87 8.05E+001 mS 1341 cycle
x87 (with fxch) 8.39E+001 mS 1398 cycle
x87 (SOA)(OoO) 8.76E+001 mS 1460 cycle
SSE (SOA) 3.14E+001 mS 523 cycle
SSE (SOA)(OoO) 3.17E+001 mS 528 cycle
MMX (16bit fixed) 2.56E+001 mS 426 cycle
MMX (16bit fixed)(SOA) 2.19E+001 mS 364 cycle

Round2 Intel Core Danteさん

GenuineIntel(Intel Core 1666MHz)

Signature : 06E8
FPU MMX KNI CMOV
秒数はエントリーの実行にかかる時間です
====================
File : r2dante.dll
Creator Signature : Dante 1999.10.30
ループ展開 VC++6.0/BLEND 9.43E+001 mS 1572 cycle
ループ展開 VC++6.0/for P6 9.51E+001 mS 1584 cycle
ループ展開 IC++4.0/for P6 9.51E+001 mS 1584 cycle
ループ展開 IC++4.0/for P5 9.48E+001 mS 1580 cycle
ループ展開(v0~v3) VC++6.0/BLEND 8.49E+001 mS 1415 cycle
ループ展開(v0~v3) VC++6.0/for P6 8.39E+001 mS 1397 cycle
ループ展開(v0~v3) IC++4.0/for P6 8.24E+001 mS 1372 cycle
ループ展開(v0~v3) IC++4.0/for P5 8.22E+001 mS 1369 cycle
ループ構造逆転 VC++6.0/BLEND 8.38E+001 mS 1396 cycle
ループ構造逆転 VC++6.0/for P6 8.37E+001 mS 1395 cycle
ループ構造逆転 IC++4.0/for P6 1.28E+002 mS 2131 cycle
ループ構造逆転 IC++4.0/for P5 1.53E+002 mS 2552 cycle

Round2 PentiumM うるりさん

GenuineIntel(PentiumM 1600MHz)

Signature : 06D8
FPU MMX KNI CMOV
秒数はエントリーの実行にかかる時間です
====================
File : R2URURI.dll
Creator Signature : うるり 2000/01/05
C言語 SDKコード(VC6Pro Blend) 2.80E+002 mS 4474 cycle
C言語 一時変数使用 2.23E+002 mS 3570 cycle
C言語 ループ展開 1.48E+002 mS 2373 cycle
x87 8.38E+001 mS 1341 cycle
x87 (with fxch) 1.73E+002 mS 2773 cycle
x87 (SOA)(OoO) 9.06E+001 mS 1449 cycle
SSE (SOA) 7.68E+001 mS 1228 cycle
SSE (SOA)(OoO) 6.88E+001 mS 1101 cycle
MMX (16bit fixed) 5.34E+001 mS 855 cycle
MMX (16bit fixed)(SOA) 4.57E+001 mS 731 cycle

Round2 PentiumM Danteさん

GenuineIntel(PentiumM 1600MHz)

Signature : 06D8
FPU MMX KNI CMOV
秒数はエントリーの実行にかかる時間です
====================
File : r2dante.dll
Creator Signature : Dante 1999.10.30
ループ展開 VC++6.0/BLEND 1.00E+002 mS 1602 cycle
ループ展開 VC++6.0/for P6 1.00E+002 mS 1603 cycle
ループ展開 IC++4.0/for P6 9.99E+001 mS 1599 cycle
ループ展開 IC++4.0/for P5 9.95E+001 mS 1593 cycle
ループ展開(v0~v3) VC++6.0/BLEND 8.92E+001 mS 1427 cycle
ループ展開(v0~v3) VC++6.0/for P6 9.22E+001 mS 1474 cycle
ループ展開(v0~v3) IC++4.0/for P6 8.64E+001 mS 1383 cycle
ループ展開(v0~v3) IC++4.0/for P5 8.71E+001 mS 1393 cycle
ループ構造逆転 VC++6.0/BLEND 8.83E+001 mS 1413 cycle
ループ構造逆転 VC++6.0/for P6 8.79E+001 mS 1407 cycle
ループ構造逆転 IC++4.0/for P6 1.33E+002 mS 2133 cycle
ループ構造逆転 IC++4.0/for P5 2.36E+002 mS 3779 cycle

Round2 Pentium4 うるりさん

GenuineIntel(Pentium4 3000MHz)

Signature : 0F4A
FPU MMX KNI CMOV
秒数はエントリーの実行にかかる時間です
====================
File : R2URURI.dll
Creator Signature : うるり 2000/01/05
C言語 SDKコード(VC6Pro Blend) 5.06E+002 mS 15178 cycle
C言語 一時変数使用 1.51E+002 mS 4540 cycle
C言語 ループ展開 9.47E+001 mS 2842 cycle
x87 6.71E+001 mS 2013 cycle
x87 (with fxch) 6.99E+001 mS 2097 cycle
x87 (SOA)(OoO) 4.82E+001 mS 1446 cycle
SSE (SOA) 1.50E+001 mS 451 cycle
SSE (SOA)(OoO) 1.33E+001 mS 398 cycle
MMX (16bit fixed) 2.57E+001 mS 770 cycle
MMX (16bit fixed)(SOA) 1.72E+001 mS 516 cycle

Round2 Pentium4 Danteさん

GenuineIntel(Pentium4 3000MHz)

Signature : 0F4A
FPU MMX KNI CMOV
秒数はエントリーの実行にかかる時間です
====================
File : r2dante.dll
Creator Signature : Dante 1999.10.30
ループ展開 VC++6.0/BLEND 9.30E+001 mS 2791 cycle
ループ展開 VC++6.0/for P6 9.31E+001 mS 2794 cycle
ループ展開 IC++4.0/for P6 9.75E+001 mS 2924 cycle
ループ展開 IC++4.0/for P5 1.06E+002 mS 3169 cycle
ループ展開(v0~v3) VC++6.0/BLEND 7.84E+001 mS 2352 cycle
ループ展開(v0~v3) VC++6.0/for P6 7.93E+001 mS 2378 cycle
ループ展開(v0~v3) IC++4.0/for P6 7.26E+001 mS 2178 cycle
ループ展開(v0~v3) IC++4.0/for P5 8.20E+001 mS 2460 cycle
ループ構造逆転 VC++6.0/BLEND 8.77E+001 mS 2630 cycle
ループ構造逆転 VC++6.0/for P6 8.76E+001 mS 2628 cycle
ループ構造逆転 IC++4.0/for P6 1.31E+002 mS 3916 cycle
ループ構造逆転 IC++4.0/for P5 2.20E+002 mS 6613 cycle

Round1 もうひとつのPentium4

Signature : 0F41(Pentium4 3000MHz)
FPU MMX KNI CMOV
秒数はエントリーの実行にかかる時間です
====================
File : R1URURI.dll
Creator Signature : うるり 1999/08/30
VC6 Pro. Generated Code(from SDK) 6.60 sec. 198
C言語 で最適化 6.21 sec. 187
FPU で最適化 5.37 sec. 161
FPU で最適化(with fxch) 5.65 sec. 170
SSE(SISD) で FPU を置き換え♪ 2.59 sec. 78
SSE(SIMD) で 3DNow!(SIMD) を置き換え♪ 2.85 sec. 86
SSE(SIMD) で最適化♪ 3.14 sec. 94

Round2 もうひとつのPentium4

GenuineIntel

Signature : 0F41
FPU MMX KNI CMOV
秒数はエントリーの実行にかかる時間です
====================
File : R2URURI.dll
Creator Signature : うるり 2000/01/05
C言語 SDKコード(VC6Pro Blend) 5.28E+002 mS 15850 cycle
C言語 一時変数使用 1.50E+002 mS 4501 cycle
C言語 ループ展開 9.59E+001 mS 2878 cycle
x87 6.77E+001 mS 2031 cycle
x87 (with fxch) 6.97E+001 mS 2090 cycle
x87 (SOA)(OoO) 4.81E+001 mS 1444 cycle
SSE (SOA) 1.51E+001 mS 452 cycle
SSE (SOA)(OoO) 1.32E+001 mS 397 cycle
MMX (16bit fixed) 2.56E+001 mS 767 cycle
MMX (16bit fixed)(SOA) 1.73E+001 mS 520 cycle

GenuineIntel

Signature : 0F41
FPU MMX KNI CMOV
秒数はエントリーの実行にかかる時間です
====================
File : r2dante.dll
Creator Signature : Dante 1999.10.30
ループ展開 VC++6.0/BLEND 9.33E+001 mS 2800 cycle
ループ展開 VC++6.0/for P6 9.28E+001 mS 2783 cycle
ループ展開 IC++4.0/for P6 9.74E+001 mS 2922 cycle
ループ展開 IC++4.0/for P5 1.06E+002 mS 3194 cycle
ループ展開(v0~v3) VC++6.0/BLEND 7.82E+001 mS 2345 cycle
ループ展開(v0~v3) VC++6.0/for P6 7.97E+001 mS 2390 cycle
ループ展開(v0~v3) IC++4.0/for P6 7.33E+001 mS 2198 cycle
ループ展開(v0~v3) IC++4.0/for P5 8.18E+001 mS 2455 cycle
ループ構造逆転 VC++6.0/BLEND 8.75E+001 mS 2625 cycle
ループ構造逆転 VC++6.0/for P6 8.74E+001 mS 2623 cycle
ループ構造逆転 IC++4.0/for P6 1.30E+002 mS 3913 cycle
ループ構造逆転 IC++4.0/for P5 2.20E+002 mS 6611 cycle

2007年01月11日

Round2 Intel Core 酔漢さん

GenuineIntel(Core 1666MHz)

Signature : 06E8
FPU MMX KNI CMOV
秒数はエントリーの実行にかかる時間です
====================
File : R2HORIE.DLL
Creator Signature : Horie, Seiichi. 1999.Sep.7
OoO FPU 8.21E+001 mS 1368 cycle
InO FPU LT=3 1.02E+002 mS 1699 cycle
InO FPU LT=2 1.01E+002 mS 1678 cycle
InO FPU Straight 8.90E+001 mS 1483 cycle

Round2 Intel Core くろさん

GenuineIntel(Core 1666MHz)

Signature : 06E8
FPU MMX KNI CMOV
秒数はエントリーの実行にかかる時間です
====================
File : R2KURO.dll
Creator Signature : KUROI. 1999.NOV.17
SSE (SoA) 4.13E+001 mS 688 cycle

Round2 Intel Core 全充

GenuineIntel(Core 1666MHz)

Signature : 06E8
FPU MMX KNI CMOV
秒数はエントリーの実行にかかる時間です
====================
File : r2kazu.dll
Creator Signature : Iwata, Kazunari. 1999.Jun.27
x87 Code 9.18E+001 mS 1529 cycle
x87 pairring 1.43E+002 mS 2385 cycle
x86 Fixed 1.16E+002 mS 1932 cycle

2007年01月13日

干渉縞の図

正確にはこうですかね。


2007年01月18日

Round2:Core2計測中ですが

計測結果(これ)を見る限り、PentiumMとCoreはほとんど同じでSSEの部分をCoreで強化しただけのように見えます。Core2も計測途中ですが同じようにSSE以外はそれほど変更されていない?のかなと思えます。

Athlon系もAthlon64でSSEが大幅に強化されただけで、FPUはほとんど同じ?という印象です。

そしてAthlon64とCoreを比べてみて思うのは、Cによるコード(特にアルゴリズムどおりすなおに書いたもの)がAthlon系分が悪いということです。

Cコードでも工夫すれば速くなることを示していますが、このあたりがベンチマーク結果でCore系に差を空けられている要因かもしれません。(同一動作周波数で見た場合)

まだ公開していませんが、Round1:OrbitやRound3:FFT(非公式)の測定からも
Athlon64とCore系は同一動作周波数でほぼ同等の能力を持っているように思えます。

最近秋葉で催されるAMDとIntelの対決でお互い似たようなCPUですといって自社CPUの優位性を表立って述べないのは、実はこのあたりの事情かもしれません。

しかし、Cで普通に書いたコードや一般のベンチマーク結果からは、Core系が1ランク上という評価になります。

市販の動画エンコーダではCore2のほうが確かに速いですから。
最もWMV化しようと思ったらどんなマシン使っても夜間バッチ(エンコード時間はだいたい映像時間の3倍)になります。

2007年01月24日

光量子は2重スリットのどちらを通り抜けるのか

光源として秒間千個程度の光子レーザを考える。
レーザを結晶に当てて相互作用で偏光状態に相関を持った2つの光子AとBを作り出す。
片方は垂直方向に偏光し、もう一つは水平に偏光するようにする。
こうした相関関係にある光子同士は離れていても量子的に影響を及ぼしあうことがわかっている。

そして光子の偏光状態も検出できる検出器を2つ用意する。検出器1と2と呼ぶこととする。

光子Aは検出器1に向かい、Bは検出器2に向かうとする。
検出器1の前に適切な間隔で2重スリットの壁を置く。

相当数光を当て続ければ検出器1に干渉縞が現れる。

ここまでは予想される出来事だ。今は何と干渉したのかは考えない。
光子はどちらのスリットを通ったのかわからない状態で検出される。
その場合、長く実験を続けると検出器に干渉縞が現れる。

ここで、それぞれのスリットの前に偏光フィルタを置く。
片方は垂直方向の変更を右回りに、水平方向の変更を左回り変えるフィルタ
もう一方は垂直方向を左回りに、水平方向を右回りに変えるフィルタとする。
そうすると光子Aがスリットを通る前にどちらの偏光状態であったかがわかれば、
検出した偏光状態からどちらのスリットを通ったかがわかる。

光子Bを検出器2で偏光が垂直か水平か検出してやれば、光子Aが光子Bと分かれたときの
偏光状態がわかり、どちらのスリットを通ったのか決定できる。

しかし、そうするといつまで実験を続けても検出器に干渉縞は現れない。

それどころか検出器2までの距離を検出器1までの距離より長くしても結果は変わらない。
光子Bが検出されるより前に光子Aはスリットのある壁を通り抜け、検出されたとしてもだ。

続く

2007年01月28日

量子エンタングルメント(Quantum entanglement)

光子の2重スリットによる干渉縞実験で説明した
光子Bの偏光状態を観測することで、光子Aがどちらのスリットを通過したかが確定し
干渉縞が観測されなくなる現象での
光子Aと光子Bとの関係を量子もつれの状態(エンタングル状態)と表現する。

光子Bの偏光状態と光子Aの偏光状態とが互いに相関を持つような状態は1980年代に入り実験で確認されている。(アスペの実験:二つの光子間の距離は10メートルで確認された)
その後の追試で何キロも離れた状態で確認されている。

このようにエンタングル状態にある光子間では、光子Bの偏光状態を測定すれば、光子Aの偏光状態が確定する。
腑に落ちないが、これはエンタングル状態の性質として理解するしかない。
量子コンピュータではこの性質を利用することになる。

またこの性質は我々観測者の時間的な前後に関係なく現れることが
2002年ブラジルのミナス・ジェライス大学でステファン・ウォルボーンらの実験によって確認された。
こちらにその論文がある。

つまり、光子Aがスリットを通り抜けて検出器1で検出された後に光子Bを検出しても変わらない(干渉縞は現れない)ということである。
観測者の時間関係には関係なく、エンタングル状態にある光子間で影響を与え合っていることになる。
ややこしい話だが、これもエンタングル状態の性質としてとらえるしかないことが実証された。
ということである。


About 2007年01月

2007年01月にブログ「濃緑空間」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2006年12月です。

次のアーカイブは2007年02月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。