- ゲームプログラムなら俺に聞け32©2ch.net
355 :Office & Gamers ◆G144Hzgh2.0e [アハ♪” uh huh]:2015/10/23(金) 04:03:36.61 ID:OU8gZV4Y - そっそっ♪、そこでCUDAの登場w
|
- ゲームプログラムなら俺に聞け32©2ch.net
356 :Office & Gamers ◆G144Hzgh2.0e [アハ♪” uh huh]:2015/10/23(金) 04:06:46.76 ID:OU8gZV4Y - CUDA 7.5 Downloads
https://developer.nvidia.com/cuda-downloads
|
- ゲームプログラムなら俺に聞け32©2ch.net
358 :Office & Gamers ◆G144Hzgh2.0e [アハ♪” uh huh]:2015/10/23(金) 05:00:22.10 ID:OU8gZV4Y - 忘れちゃいけないインラインアセンブルw
インライン アセンブラー https://msdn.microsoft.com/ja-jp/library/4ks26t93.aspx
|
- ゲームプログラムなら俺に聞け32©2ch.net
359 :Office & Gamers ◆G144Hzgh2.0e [アハ♪” uh huh]:2015/10/23(金) 05:04:20.61 ID:OU8gZV4Y - VC++、DarkGDK、マルチスレッド、ASM、CUDAの時代。(アハ
|
- ゲームプログラムなら俺に聞け32©2ch.net
363 :Office & Gamers ◆G144Hzgh2.0e [アハ♪” uh huh]:2015/10/23(金) 14:20:20.28 ID:OU8gZV4Y - やっぱアセンブラ速いなw
単純ループで7倍以上差が出てるw なるほどな…w” for(int j=0; j<1000000000; j++); 01152989 mov dword ptr [j], 0 01152990 jmp Loop1+1Bh (115299Bh) 01152992 mov eax,dword ptr [j] 01152995 add eax,1 01152998 mov dword ptr [j], eax 0115299B cmp dword ptr [j], 3B9ACA00h 011529A2 jge Loop1+26h (11529A6h) ;ループ外アドレスw 011529A4 jmp Loop1+12h (1152992h) __asm { MOV ECX, 0 LP1: INC ECX CMP ECX, 1000000000 JL LP1 } 00E52990 mov ecx, 0 00E52995 inc ecx 00E52996 cmp ecx, 3B9ACA00h 00E5299C jl LP1 (0E52995h) 始めは結果を疑ってソース見てたけど、逆アセンブルリスト見て納得w
|
- ゲームプログラムなら俺に聞け32©2ch.net
364 :Office & Gamers ◆G144Hzgh2.0e [アハ♪” uh huh]:2015/10/23(金) 14:27:53.37 ID:OU8gZV4Y - コンパイル→逆アセンブルリストチェックでまだまだ最適化は可能だなw
|
- ゲームプログラムなら俺に聞け32©2ch.net
366 :Office & Gamers ◆G144Hzgh2.0e [アハ♪” uh huh]:2015/10/23(金) 15:59:21.47 ID:OU8gZV4Y - 同じ処理をしましょうね(ギャハハ
|
- ゲームプログラムなら俺に聞け32©2ch.net
367 :Office & Gamers ◆G144Hzgh2.0e [アハ♪” uh huh]:2015/10/23(金) 16:19:13.81 ID:OU8gZV4Y - VC++、DarkGDK、マルチスレッド、ASM、CUDAの時代。(アハ
|
- ゲームプログラムなら俺に聞け32©2ch.net
368 :Office & Gamers ◆G144Hzgh2.0e [アハ♪” uh huh]:2015/10/23(金) 19:09:14.41 ID:OU8gZV4Y - 試しに実数は…ちゃんとコプロセッサ命令使ってたw
メモリ変数になるからなるべく整数型に置き換えたほうがいいかもなw for(float k=1.23456789f; k<123456789.012f; k+=9.876543210f); 0025299F FLD dword ptr [__real@3f9e0652 (3C4E5Ch)] 002529A5 FSTP dword ptr [k] 002529A8 JMP LP1+23h (2529B6h) 002529AA FLD dword ptr [k] 002529AD FADD qword ptr [__real@4023c0ca40000000 (3C4E50h)] 002529B3 FSTP dword ptr [k] 002529B6 FLD dword ptr [k] 002529B9 FCOMP qword ptr [__real@419d6f3460000000 (3C4E40h)] 002529BF FNSTSW AX 002529C1 TEST AH, 5 002529C4 JP LP1+35h (2529C8h) 002529C6 JMP LP1+17h (2529AAh)
|
- ゲームプログラムなら俺に聞け32©2ch.net
370 :Office & Gamers ◆G144Hzgh2.0e [アハ♪” uh huh]:2015/10/23(金) 19:51:43.98 ID:OU8gZV4Y - インテルのマニュアル見てたらCMOVcc(条件MOV命令)なんて付いてたんだなw
|
- ゲームプログラムなら俺に聞け32©2ch.net
371 :Office & Gamers ◆G144Hzgh2.0e [アハ♪” uh huh]:2015/10/23(金) 20:04:12.88 ID:OU8gZV4Y - CMOVcc r, r/mのみ指定。
使い道次第かw
|
- ゲームプログラムなら俺に聞け32©2ch.net
372 :Office & Gamers ◆G144Hzgh2.0e [アハ♪” uh huh]:2015/10/23(金) 20:26:34.71 ID:OU8gZV4Y - FPUの振り分けと、YMMを使いこなせるかどうか…あ、AVX付いてないCPUはダメかw
当面はFPUの振り分けだなw
|
- ゲームプログラムなら俺に聞け32©2ch.net
374 :Office & Gamers ◆G144Hzgh2.0e [アハ♪” uh huh]:2015/10/23(金) 20:31:36.61 ID:OU8gZV4Y - やっぱアセンブラ面白いなwwww”
AMDerどうなるんだろう?w
|