From d3ee254a13489700d6a3dd86e28fcb3e46c3e0dd Mon Sep 17 00:00:00 2001 From: Danny Rerucha Date: Sun, 21 Sep 2014 20:39:19 -0400 Subject: [PATCH 1/6] Add acceleration computation and euler integration to complete the n-body simulation for part 01 of the project. --- Part1/PROJ_WIN/CIS565_PROJ_1.suo | Bin 14336 -> 31232 bytes .../CIS565_PROJ_1/CIS565_PROJ_1.vcxproj | 8 +- Part1/PROJ_WIN/CIS565_PROJ_1/vc100.pdb | Bin 446464 -> 462848 bytes Part1/PROJ_WIN/src/kernel.cu.deps | 739 +++++++++--------- Part1/src/kernel.cu | 117 ++- Part1/src/main.cpp | 2 +- 6 files changed, 480 insertions(+), 386 deletions(-) diff --git a/Part1/PROJ_WIN/CIS565_PROJ_1.suo b/Part1/PROJ_WIN/CIS565_PROJ_1.suo index ad46c84a9a00137f71e370ba57e24d2f64f37088..f07103888f3971c826d1c206288cc9c40badb233 100644 GIT binary patch literal 31232 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 IhFnYhU)CpAPyhe` diff --git a/Part1/PROJ_WIN/CIS565_PROJ_1/CIS565_PROJ_1.vcxproj b/Part1/PROJ_WIN/CIS565_PROJ_1/CIS565_PROJ_1.vcxproj index 4c88226..c1f58d9 100644 --- a/Part1/PROJ_WIN/CIS565_PROJ_1/CIS565_PROJ_1.vcxproj +++ b/Part1/PROJ_WIN/CIS565_PROJ_1/CIS565_PROJ_1.vcxproj @@ -30,7 +30,7 @@ - + @@ -62,7 +62,7 @@ true true true - compute_10,sm_10;compute_20,sm_20;compute_30,sm_30 + compute_20,sm_20;compute_20,sm_20;compute_30,sm_30 @@ -95,7 +95,7 @@ Document - compute_10,sm_10;compute_20,sm_20 + compute_20,sm_20;compute_20,sm_20 @@ -114,6 +114,6 @@ - + \ No newline at end of file diff --git a/Part1/PROJ_WIN/CIS565_PROJ_1/vc100.pdb b/Part1/PROJ_WIN/CIS565_PROJ_1/vc100.pdb index b662f859b27e4fb8b4753032a64cb6eb2e33341b..705d18dd45ba40a06cffdc5da7d9ab4bd0ca3473 100644 GIT binary patch delta 13496 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 bmDfYa?mn06pyj=aO@4BcrMAUV*Pi@ega-Fd delta 3417 zcmcK5X>^p;835p!EW<>W2?&A$0tuTNLaP>BL0N*W2#A7$vO`!zP!tt(29yLrSvnX2 z1tTf~0wNIzhzPXqZBNhX-!5t0sMA^ zRAtMhog3a7i9|Lq-^#Nm z>^rsgn}@z|0%6WgIg!ZCjAa5-$kU%sj2-NxnqBN>53jJ7SJ@Ye_eauW;ziN7)AQrS z(ch#u#IHy`;-tqho(W8(lu1lx3RAh2Y23ziW^g-qFq1pEi&@;wJ>1J|=5QbPlO)Al z=0zj*BM(R(WPUWgICggOWw&{?=3@Fs8ZHt+BY ze#x(Rm|^@l>_vY{=ofw^8cPy1q&}z6fJPMJ`9zv<8qH`*3!2lH-t^%zF6RtR=OWtD znpU*rOxkcE7tqfBksnBYNH;nX-hyI^=s;J_p%Z6w7M(el^XbBQ{D@1qnD7?$AiPz* zxRRb+!BxCK1wXNWP6Fph~# zU=pQFAvxJ)8dC}XM5c2aw=;v8+`(Pk$=%H2UhZKIv$>!9m`jQWn8$n`q?|GyVgZX- z7{0?Jl7~t2QW4dj=Lx#C7~4_mmJkJKEcTAna|tvHj$?B)`B^Rb%2ViW$Y?l9-b z+p?FDRFbT4i5q<1gw|pg?SIL;iWjhuHH@af_(5Zzu~PdM{w8mvzY{I_Lc6Kh(^x}h zGmAV5^{*B48AsC`=igrPXOk9*b9s}9!ZW!>eid)=2E+KP;Zuxt|8FIG_&tB5hClE=@A4iWa*&Vth))>J7{*dY zISY7*g)HJzKBpaDkmGc6!wJ!VW;x^hElOIDqo7#q$hn+PH%92cNW6^U^1fmT{Tax0 z4B>i48XqCnczl`9sG6$Ag@+R9ui7M{soJz{VP21;hmIan9SLeLnF;PORhu9430Zb5 zN=GkjRyCmOwl)RJyL5}j`!^pFPZxCUvprF7TcYA{EU#U7r2WjAGb#V;Wlncp;kP&Z z)Q6r4RUHNnk4AIT%LWxk$8V3;8{R0)+n!hNNMc^9EEO$F<&>pz%TjskQu)8$u{72_ ze`jTRY*e)Bz@XBCimkB*=MCuQXU6jRZY|G}nH%mt-~T>FxrMN0_#D6C#E$8)lEkuJ z)t0ROX32x`ua}%=$-?A!m#ns25SDCFUU$ignpiv<-&s%-oAupqbo?YrtQ$VzB*Gdo XF`ULECowWJuhdBlZ4{j%983HMcCevk diff --git a/Part1/PROJ_WIN/src/kernel.cu.deps b/Part1/PROJ_WIN/src/kernel.cu.deps index 926dd55..941dc6f 100644 --- a/Part1/PROJ_WIN/src/kernel.cu.deps +++ b/Part1/PROJ_WIN/src/kernel.cu.deps @@ -1,87 +1,87 @@ -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\cuda_runtime.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_config.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\cuda_runtime.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_config.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\sal.h c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vadefs.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\limits.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stddef.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\channel_descriptor.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\cuda_runtime_api.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\cuda_device_runtime_api.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\cuda_runtime_api.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\common_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\channel_descriptor.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\cuda_runtime_api.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\cuda_device_runtime_api.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\cuda_runtime_api.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\common_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\time.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\wtime.inl c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\time.inl -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\math_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\math_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\math.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdlib.h @@ -92,159 +92,159 @@ c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\use_ansi.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\math.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdlib -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\cuda_surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\channel_descriptor.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\cuda_texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\channel_descriptor.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_11_atomic_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_12_atomic_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_13_double_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_20_atomic_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_32_atomic_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_35_atomic_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_32_atomic_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_20_intrinsics.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_30_intrinsics.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_32_intrinsics.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_35_intrinsics.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_32_intrinsics.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\cuda_surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_fetch_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\cuda_texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_indirect_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_indirect_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_functions.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_launch_parameters.h -c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\cuda_surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\channel_descriptor.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\cuda_texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\channel_descriptor.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_11_atomic_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_12_atomic_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_13_double_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_20_atomic_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_32_atomic_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_35_atomic_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_32_atomic_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_20_intrinsics.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_30_intrinsics.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_32_intrinsics.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_35_intrinsics.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_32_intrinsics.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\cuda_surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_fetch_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\cuda_texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_indirect_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_indirect_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_launch_parameters.h +c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\swprintf.inl -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\cuda.h -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm/glm.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core/_fixes.hpp +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\cuda.h +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm/glm.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core/_fixes.hpp c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\climits c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cfloat c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\float.h @@ -259,107 +259,107 @@ c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xstddef c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstddef c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core/setup.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/_detail.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\setup.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core/setup.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\./core/_detail.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\setup.hpp c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cassert c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\assert.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/_vectorize.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/type.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_half.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_half.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\_detail.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_float.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_half.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\setup.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_int.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\setup.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\_detail.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_gentype.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_size.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec1.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_gentype.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_float.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_int.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_size.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\_swizzle.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\_swizzle_func.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec1.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec2.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_float.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_int.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_size.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\_swizzle.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec2.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec3.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_float.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_int.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_size.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\_swizzle.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec3.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec4.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_float.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_int.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_size.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\_swizzle.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec4.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat2x2.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_gentype.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat2x2.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat2x3.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat2x3.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat2x4.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat2x4.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat3x2.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat3x2.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat3x3.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat3x3.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat3x4.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat3x4.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat4x2.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat4x2.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat4x3.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat4x3.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat4x4.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat4x4.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/func_trigonometric.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\func_trigonometric.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/func_exponential.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\func_exponential.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/func_common.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\_fixes.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\func_common.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/func_packing.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\func_packing.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/func_geometric.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\func_geometric.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/func_matrix.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\func_matrix.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/func_vector_relational.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\_detail.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\func_vector_relational.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/func_integer.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\func_integer.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/func_noise.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\func_noise.inl -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/_swizzle.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\utilities.h -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm/glm.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core/_fixes.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\./core/_vectorize.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\./core/type.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_half.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_half.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\_detail.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_float.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_half.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\setup.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_int.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\setup.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\_detail.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_gentype.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_size.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_vec1.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_vec.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_gentype.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_float.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_int.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_size.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\_swizzle.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\_swizzle_func.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_vec1.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_vec2.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_vec.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_float.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_int.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_size.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\_swizzle.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_vec2.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_vec3.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_vec.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_float.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_int.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_size.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\_swizzle.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_vec3.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_vec4.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_vec.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_float.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_int.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_size.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\_swizzle.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_vec4.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat2x2.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_gentype.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat2x2.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat2x3.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat2x3.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat2x4.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat2x4.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat3x2.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat3x2.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat3x3.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat3x3.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat3x4.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat3x4.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat4x2.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat4x2.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat4x3.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat4x3.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat4x4.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\type_mat4x4.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\./core/func_trigonometric.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\func_trigonometric.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\./core/func_exponential.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\func_exponential.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\./core/func_common.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\_fixes.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\func_common.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\./core/func_packing.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\func_packing.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\./core/func_geometric.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\func_geometric.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\./core/func_matrix.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\func_matrix.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\./core/func_vector_relational.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\_detail.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\func_vector_relational.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\./core/func_integer.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\func_integer.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\./core/func_noise.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core\func_noise.inl +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\./core/_swizzle.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\utilities.h +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm/glm.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core/_fixes.hpp c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\algorithm c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\memory c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xmemory @@ -514,55 +514,56 @@ c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\sstream c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vector c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfunctional -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\cudaMat4.h -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm/glm.hpp -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core/_fixes.hpp -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\cuda_runtime.h -c:\users\harmoli\documents\cis565\project3-simulation\part1\src\kernel.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/config.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/simple_defines.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/compiler.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\cuda.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/host_system.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/device_system.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/host_device.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\host_defines.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/debug.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/compiler_fence.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/forceinline.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/hd_warning_disable.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/cstdint.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/discard_block_engine.h +c:\users\danny\documents\_projects\cis565\project-1\part1\src\cudaMat4.h +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm/glm.hpp +c:\users\danny\documents\_projects\cis565\project-1\part1\src\glm\core/_fixes.hpp +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\cuda_runtime.h +c:\users\danny\documents\_projects\cis565\project-1\part1\src\kernel.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/config.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/simple_defines.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/compiler.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\cuda.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/host_system.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/device_system.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/host_device.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\host_defines.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/debug.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/compiler_fence.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/forceinline.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/hd_warning_disable.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/global_workarounds.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/cstdint.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/discard_block_engine.h c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\iostream -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/random_core_access.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/discard_block_engine.inl -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/linear_congruential_engine.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/linear_congruential_engine_discard.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/mod.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/linear_congruential_engine.inl -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/linear_feedback_shift_engine.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/linear_feedback_shift_engine_wordmask.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/linear_feedback_shift_engine.inl -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/subtract_with_carry_engine.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/subtract_with_carry_engine.inl -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/xor_combine_engine.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/type_traits.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/type_traits/has_trivial_assign.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/xor_combine_engine_max.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/mpl/math.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/xor_combine_engine.inl -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/uniform_int_distribution.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/pair.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/pair.inl -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/swap.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/integer_traits.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/uniform_int_distribution.inl -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/uniform_real_distribution.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/uniform_real_distribution.inl -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/normal_distribution.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/normal_distribution_base.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/normal_distribution.inl -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\math_constants.h -C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\cuda.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/random_core_access.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/discard_block_engine.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/linear_congruential_engine.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/linear_congruential_engine_discard.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/mod.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/linear_congruential_engine.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/linear_feedback_shift_engine.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/linear_feedback_shift_engine_wordmask.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/linear_feedback_shift_engine.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/subtract_with_carry_engine.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/subtract_with_carry_engine.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/xor_combine_engine.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/type_traits.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/type_traits/has_trivial_assign.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/xor_combine_engine_max.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/mpl/math.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/xor_combine_engine.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/uniform_int_distribution.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/pair.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/pair.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/swap.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/integer_traits.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/uniform_int_distribution.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/uniform_real_distribution.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/uniform_real_distribution.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/normal_distribution.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/normal_distribution_base.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/normal_distribution.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\math_constants.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\cuda.h diff --git a/Part1/src/kernel.cu b/Part1/src/kernel.cu index ee9b9e5..113565b 100644 --- a/Part1/src/kernel.cu +++ b/Part1/src/kernel.cu @@ -27,8 +27,9 @@ void checkCUDAError(const char *msg, int line = -1) { fprintf(stderr, "Line %d: ", line); } - fprintf(stderr, "Cuda error: %s: %s.\n", msg, cudaGetErrorString( err) ); - exit(EXIT_FAILURE); + fprintf(stderr, "Cuda error: %s: %s.\n", msg, cudaGetErrorString( err) ); + + exit(EXIT_FAILURE); } } @@ -83,25 +84,105 @@ __global__ void generateCircularVelArray(int time, int N, glm::vec3 * arr, glm:: } } +// Helper function for accelerate(). +// Compute the gravitational acceleration body2 imposes on body1. +__device__ +glm::vec3 computeGravitationalAccelerationBetweenTwoBodies( glm::vec4 body1, glm::vec4 body2 ) +{ + // NOTE: F = (G * m_a * m_b) / (r_ab ^ 2) + // F = ma => a = F / m. + // So, a = (G * m_a * m_b) / (m_a * r_ab ^ 2) => a = (G * m_b) / (r_ab ^ 2) + + // NOTE: The the 4th component (w) of each body is that body's mass. + + glm::vec3 r( body2.x - body1.x, body2.y - body1.y, body2.z - body1.z ); + + // If two bodies have identical positions, immediately return a force of 0 to avoid dividing by 0. + //if ( glm::length( r ) < EPSILON ) { + if ( glm::length( r ) < 0.1f ) { + return glm::vec3( 0.0f, 0.0f, 0.0f ); + } + + float numerator = ( float )( G * body2.w ); + float denominator = ( float )( glm::length( r ) * glm::length( r ) ); + + return ( numerator / denominator ) * glm::normalize( r ); +} + // TODO: Core force calc kernel global memory // HINT : You may want to write a helper function that will help you // calculate the acceleration contribution of a single body. // REMEMBER : F = (G * m_a * m_b) / (r_ab ^ 2) -__device__ glm::vec3 accelerate(int N, glm::vec4 my_pos, glm::vec4 * their_pos) +// N: Number of planets. +// my_pos: Position of current planet. +// their_pos: Array of planet positions. +__device__ +glm::vec3 accelerate( int N, glm::vec4 my_pos, glm::vec4 *their_pos ) { - return glm::vec3(0.0f); + // Danny was here. + + glm::vec3 acceleration( 0.0f, 0.0f, 0.0f ); + + // Compute acceleration casued by the star at the center of the "solar system". + acceleration += computeGravitationalAccelerationBetweenTwoBodies( my_pos, glm::vec4( 0.0f, 0.0f, 0.0f, starMass ) ); + + // Compute acceleration caused by the other N-1 planets. + for ( unsigned int i = 0; i < N; ++i ) { + acceleration += computeGravitationalAccelerationBetweenTwoBodies( my_pos, their_pos[i] ); + } + + return acceleration; } // TODO : update the acceleration of each body -__global__ void updateF(int N, float dt, glm::vec4 * pos, glm::vec3 * vel, glm::vec3 * acc) +// N: Number of planets. +// dt: Time step. +// pos: Array of planet positions. +// vel: Array of planet velocities. +// acc: array of planet accelerations. +__global__ +void updateF( int N, float dt, glm::vec4 * pos, glm::vec3 * vel, glm::vec3 * acc ) { - // FILL IN HERE + // Danny was here. + + // NOTE: Blocks are a one-dimensional array in the grid (they only have an x-component). + // NOTE: Threads are a one dimensional array in the current block (they only have an x-component). + + int planet_index = threadIdx.x + ( blockIdx.x * blockDim.x ); + + // If number of planets do not fit perfectly inside the number of blocks specified, + // then some thread indices will not correlate to a planet, so check bounds. + if ( planet_index < N ) { + acc[planet_index] = accelerate( N, pos[planet_index], pos ); + } } // TODO : update velocity and position using a simple Euler integration scheme -__global__ void updateS(int N, float dt, glm::vec4 * pos, glm::vec3 * vel, glm::vec3 * acc) +// N: Number of planets. +// dt: Time step. +// pos: Array of planet positions. +// vel: Array of planet velocities. +// acc: array of planet accelerations. +__global__ +void updateS( int N, float dt, glm::vec4 *pos, glm::vec3 *vel, glm::vec3 *acc ) { - // FILL IN HERE + // Danny was here. + + // NOTE: Blocks are a one-dimensional array in the grid (they only have an x-component). + // NOTE: Threads are a one dimensional array in the current block (they only have an x-component). + + int planet_index = threadIdx.x + ( blockIdx.x * blockDim.x ); + + // If number of planets do not fit perfectly inside the number of blocks specified, + // then some thread indices will not correlate to a planet, so check bounds. + if ( planet_index < N ) { + vel[planet_index] += ( acc[planet_index] * dt ); + + // Must separate into x-, y-, and z-components since pos is an array of glm::vec4s while vel is an array of glm::vec3s. + pos[planet_index].x += ( vel[planet_index].x * dt ); + pos[planet_index].y += ( vel[planet_index].y * dt ); + pos[planet_index].z += ( vel[planet_index].z * dt ); + } } // Update the vertex buffer object @@ -179,7 +260,21 @@ void initCuda(int N) // TODO : Using the functions you wrote above, write a function that calls the CUDA kernels to update a single sim step void cudaNBodyUpdateWrapper(float dt) { - // FILL IN HERE + // Danny was here. + + // Compute grid dimensions to pass into kernel. + // Block dimensions are already given in threadsPerBlock. + dim3 blocks_per_grid( ( int )ceil( ( float )numObjects / ( float )blockSize ) ); + + // dev_pos, dev_vel, and dev_acc are arrays of vectors that have already been allocated on the device. + updateF<<>>( numObjects, dt, dev_pos, dev_vel, dev_acc ); + checkCUDAErrorWithLine("Kernel failed!"); // Because initCuda() does this. + + // dev_pos, dev_vel, and dev_acc are arrays of vectors that have already been allocated on the device. + updateS<<>>(numObjects, dt, dev_pos, dev_vel, dev_acc); + checkCUDAErrorWithLine("Kernel failed!"); // Because initCuda() does this. + + cudaThreadSynchronize(); // Because cudaThreadSynchronize() and cudaUpdatePBO() do this. } void cudaUpdateVBO(float * vbodptr, int width, int height) @@ -194,6 +289,4 @@ void cudaUpdatePBO(float4 * pbodptr, int width, int height) dim3 fullBlocksPerGrid((int)ceil(float(width*height)/float(blockSize))); sendToPBO<<>>(numObjects, dev_pos, pbodptr, width, height, scene_scale); cudaThreadSynchronize(); -} - - +} \ No newline at end of file diff --git a/Part1/src/main.cpp b/Part1/src/main.cpp index ea86207..268699e 100644 --- a/Part1/src/main.cpp +++ b/Part1/src/main.cpp @@ -62,7 +62,7 @@ void runCuda() // execute the kernel cudaNBodyUpdateWrapper(DT); #if VISUALIZE == 1 - cudaUpdatePBO(dptr, field_width, field_height); + //cudaUpdatePBO(dptr, field_width, field_height); cudaUpdateVBO(dptrvert, field_width, field_height); #endif // unmap buffer object From 52ed936a302ab347a1624beef7a6c1d4e308ec01 Mon Sep 17 00:00:00 2001 From: Danny Rerucha Date: Sun, 21 Sep 2014 22:39:36 -0400 Subject: [PATCH 2/6] Add parallel matrix operations for part 02 of the project. --- Part1/PROJ_WIN/CIS565_PROJ_1.sln | 6 + Part1/PROJ_WIN/CIS565_PROJ_1.suo | Bin 31232 -> 31232 bytes Part1/PROJ_WIN/CIS565_PROJ_1/vc100.pdb | Bin 462848 -> 462848 bytes Part1/src/kernel.cu | 2 +- .../CIS565_PROJ_1_PART_2.vcxproj | 77 +++++++++ .../CIS565_PROJ_1_PART_2.vcxproj.filters | 22 +++ Part2/CIS565_PROJ_1_PART_2/matrix_math.cu | 158 ++++++++++++++++++ 7 files changed, 264 insertions(+), 1 deletion(-) create mode 100644 Part2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2.vcxproj create mode 100644 Part2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2.vcxproj.filters create mode 100644 Part2/CIS565_PROJ_1_PART_2/matrix_math.cu diff --git a/Part1/PROJ_WIN/CIS565_PROJ_1.sln b/Part1/PROJ_WIN/CIS565_PROJ_1.sln index 2440bc1..7b217a1 100644 --- a/Part1/PROJ_WIN/CIS565_PROJ_1.sln +++ b/Part1/PROJ_WIN/CIS565_PROJ_1.sln @@ -3,6 +3,8 @@ Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CIS565_PROJ_1", "cIS565_PROJ_1\CIS565_PROJ_1.vcxproj", "{D7BEFF7A-4902-4B7E-922B-B0417A66864C}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CIS565_PROJ_1_PART_2", "..\..\Part2\CIS565_PROJ_1_PART_2\CIS565_PROJ_1_PART_2.vcxproj", "{B5E14F8D-EF1A-4763-808E-A148FEF3CCD2}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -13,6 +15,10 @@ Global {D7BEFF7A-4902-4B7E-922B-B0417A66864C}.Debug|Win32.Build.0 = Debug|Win32 {D7BEFF7A-4902-4B7E-922B-B0417A66864C}.Release|Win32.ActiveCfg = Release|Win32 {D7BEFF7A-4902-4B7E-922B-B0417A66864C}.Release|Win32.Build.0 = Release|Win32 + {B5E14F8D-EF1A-4763-808E-A148FEF3CCD2}.Debug|Win32.ActiveCfg = Debug|Win32 + {B5E14F8D-EF1A-4763-808E-A148FEF3CCD2}.Debug|Win32.Build.0 = Debug|Win32 + {B5E14F8D-EF1A-4763-808E-A148FEF3CCD2}.Release|Win32.ActiveCfg = Release|Win32 + {B5E14F8D-EF1A-4763-808E-A148FEF3CCD2}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Part1/PROJ_WIN/CIS565_PROJ_1.suo b/Part1/PROJ_WIN/CIS565_PROJ_1.suo index f07103888f3971c826d1c206288cc9c40badb233..6d4963fc9d498ffde7bceaf987bc6c002408d4af 100644 GIT binary patch delta 2383 zcmchZYj9IV6vuayn>2)5`bZz?gSKg*O&*z3TXZaayUvFyl~geDK8&RX_PfXN*`FX+7JA+$uAo!?4Mj zJ^Q<7_nv$A7L`n$;Az>1n1(k3xah$CM{Yf>d<&pqp z8V>Fiz}=);UW0C&&I@MJ(d1_KYlcz&rI(>d(Oq{e$OfW`6zROWZ>3 zKjDS6ti)1>&1Sb*oqPL&8!09tLu-YR_);1xI?~t3>1DAi^E(=M_}re);~RV5*9?X& z>izHCNnrIMhIG%;xT6&@Cr|%Wd!!>-x9;h$-(8snQ`tERw$KKcDs#h=IU4#5dKu84 zV~o3nd9Ee(WGm?=J4lFhLxVPjmcvj=8otEV#diVYML~rH_(^~; z+D;mXfU{dj50d#&Gcl4N*@b0Qnf?-Vthy1-b@2*Zkk#z{n#%R@Y>+O6kzDV5v1CZ7 zk`>i;Iqc5c2+qWEs960O4C~j!rzRe1^tZzW(^P;v1+!5EwvRJ>?XV0;4oY5 z9=E61>2z84_8E=!`1Lh}1WUbh<5MNJl7O$yTN^M3e2zMQ;K2}1>~Lg1_)>j)gAi)z z31HU@XPXPb{M`6{EHRGUZaFJPk2F<1js%S_275X~J6rplYwNdm!#g{QA2MBP6hE%4 z&4#LNDpA!`NiqE&+L`XK=6W2dKm5COfa-Z(!Sq-oo^QWI!;Q}Q5^MByWRKukWmDm8Gaf`{MA^YIRa;?)=Wl+mORHyhPKQUxKbjcg=Lu>Y!!NXV}; zN`cTlIj@lVB~-x4`AC@7ElyS(#K9Q!TJxz551y4UR$x`UiR>%bqS^!#yL=6=;E4Up zID-AFXh+eGp&dtKd=UE~v|+RpXkj!!JBh}wzrN6)!v6Gv{}%Rdqn%;nkuAsQXipV| k1M5;v|E^EQARZfd%&+g*)z(&lY1&{WUazf0_MnsbPa?w9IRF3v delta 1444 zcmZ{kT})eL7{}kYoSvSR)ACVP7!bP_q#v|=$*4HN5*txQY)MGeiy>6Y(ou;^Gy;!_5*~KnS3>ZUw-a@;xxV_2K_nhDJ z@jlP{{j0IPJG;DrOyWLl zNVk*#J(6(+x24`vtAusytlDSj347L0B@q%I%U`SY_yWXj^Hq(0$@Yy!b&|8& z6cn0cUO8q4h9jl=2sE0Z)|gT)N1%4DZZsw>PG%zyZ5P{t2^5cQAMTzPl}?j^+(j>`G5q71QN@8RCLOf)lzF3&VbWbOi++GxW2B?M@n_^Km%Es9cB@o3@$ML|#W71=k zbdF?+73lZ8exvs}j&dlDc<@50FQInO8SNyZJz|KU^`%rXVBKbD^d+4vMC1t*mBsMg z=hz6mgl*S^els}9DQp-AzGk{~(Zx&H48GT}#xzty`+OGr;fgI!oEA1??O2Vei~!2uMbdzO-dje%e3Qiq`pCb2CI>&D=>oJ+WT!mVE&b~UJ03i2dLJ#%Ap zUg#lmd$0gY^H#% znK1vU#&Pi4Q2njMuOIQV_#@MU`=?}nqi%Wntr5Ocdo#tGn~Xf*cr~Y@uoB`w*DQ&| zaBbYlADQ4u{n|4#{!;pRC-+i`eWo&@rBkY(fMSM5y4p2pZ@jN8kwPrpdS;qqI`f0b z7$4<4+)m#Ww!J!s7Z9|4Xp)`jjV2n%df=2Qj;e$Fx-( z?GYy(u25MFpa`FMRNw9{yo^Cfu{=X= p4_RqdE9(V^u&*dv@`zE7O%VZS{cdm%xLG+d*6HCdvE`6 zWB+jDa78lY=NrVsJbyEOw|Wcu#9@@vhRC-FkC2z=B611MTcu(Nwj4+T$BSGH<5;vq zYzu~n;J|qghK%k!1%pA0xCG^Q!YJ=hKa2zkcJhK!?;a7*iChF*)nWw_IfBzyHj4s5 zd|YfUjyHyDq9DMY?PBgQ5(>(ufNGCr2A2s+-QQgCKBMKZrXuw}UR|d9Xk2*o*&oEG?n^%=&L*%XSr}aQeS{HIUy?rgkuMXBEeh6OdFyo@6v(f97^@wOEfU>gABi29; zR-tqW!;a7qkY|=|N}YAYal*=U-ejV%k)cL2;v``xZ|u4=QRIv=>myI;Xo19<$Sa-k zQ&6Csw@{Ci6%LcPz_Bf~uC7 z>TpKmV!Lzg;{j|0J>tp=sfRQ2P~A-p216`cY4;;U#$$jvn^ZS*<~pFFm4FDq}KL!<<4NE54X#<(l#Tp{%aQX9M!;9QB7_2qLUCo zB2{Jjlt-Tx!{@z0Vdx@(;2=Suz<#)>eR5)OOcuB!M^E)9FBRJkP4eOX#!; znXy2&R3s_0^>93GQknE`R{d|ckT(y`j5hK@nl>j58Ur=KbL-OS@x}E&*1D(H){LKr z+yAyM7*~#0ODEUf_|X911NC)$lpDNxX9<9h9{@nrX}Mqc)BJVqpw_7wo!U~Tw%n<$ zbZWUDYG$18ZPd-ua;bW!TiAQE`@Z;Ow14~czbpXGe-6M^u)4miVD$O#F50`C8}7d1 z*NuO=-|k&E{_Pf8myMI|BfdF_)GORGw=NAHsOJ}e0baSN4ebAPU@qP0J?xnqS2te+ z;BFg$k8A)Ab^!SFEdYLJ06eJlzqxOof9dNZ^W__->iHMn=RgiTe!QZc+Sf43qWi;N zs0e8Gtt0c7E#pdm^*8fm?I|e_)jPd3DNRL+J_W~xyVU4?`N+I^e1txH^}BQHPXGk7 B+fo1k delta 1702 zcmYM!2XGZd7y#gVDK8*Mz={eas3_P-=)EdfklyQ~iVd*G`XXu&D~e**sMrOgQ66@B z@4fe4LoX5VdpLtP_x8ah~8wp5keqAxbvS zGL+|do)^er7%wuMmw1_1c$L?9JwCt)-r!9}@)mD1ig$RI_jsQV_>hnIm`}*%Q$FK! zM)L(<@)ck64d3z|-!q1>M1K(S_>rH;=VyLl95Kf8E5GqOfAA-N@i!Bg$Rs8+g{e$q zIy0EbEM_x@xy+02|9r^;7P5%NEMY0jSk4MovWnHLVJ+)e&jvQKiOpM=^?XJ|#${B&E233%Q7kxr9q8&1GE96_lYY z_1wUX+(czE$fOEYsYZ2bP?K8JrVe$fM|~R5kVZ772~C+~Q6@8msZ3Kpm@b*YOcpbn zIm~4q^I5<`7BPz@EM*zXS;0zHv6?lkWgY9;z(zK)nJsK(oBF|a$qsh1i{0#DFZI!mJa-j8onNZt{?w7D(^5l=|4UC*E*2`CUo@jIt?YQ+ntL~6Z1UM2 zHT}mK!ySfNiLvqp;lZKUh>hVPC5A?FBB7i}LQW(xCz6yCNgfvoXQjuoMuaP-#Bzs) z)6?UzQIS!3;o=nvGOfUv + + + + Debug + Win32 + + + Release + Win32 + + + + {B5E14F8D-EF1A-4763-808E-A148FEF3CCD2} + CIS565_PROJ_1_PART_2 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + + + + Level3 + Disabled + + + true + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + cudart.lib;%(AdditionalDependencies) + + + $(ProjectDir)$(Platform)/$(Configuration)/%(Filename)%(Extension).obj + $(CudaToolkitIncludeDir);%(Include) + + + + + Document + + + + + + + \ No newline at end of file diff --git a/Part2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2.vcxproj.filters b/Part2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2.vcxproj.filters new file mode 100644 index 0000000..f07abd3 --- /dev/null +++ b/Part2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + \ No newline at end of file diff --git a/Part2/CIS565_PROJ_1_PART_2/matrix_math.cu b/Part2/CIS565_PROJ_1_PART_2/matrix_math.cu new file mode 100644 index 0000000..876101b --- /dev/null +++ b/Part2/CIS565_PROJ_1_PART_2/matrix_math.cu @@ -0,0 +1,158 @@ +#pragma once + +#include +#include + +const int MATRIX_WIDTH = 5; +const int MATRIX_SIZE = MATRIX_WIDTH * MATRIX_WIDTH; + +// Function prototypes. +__global__ void matAdd( float *mat1, float *mat2, float *result ); +__global__ void matSub( float *mat1, float *mat2, float *result ); +__global__ void matMult( float *mat1, float *mat2, float *result ); +void matAdd( int N, float *mat1, float *mat2, float *result ); +void matSub( int N, float *mat1, float *mat2, float *result ); +void matMult( int N, float *mat1, float *mat2, float *result ); +void debugPrintMat( int N, float *mat ); + +int main(int argc, char** argv) +{ + float *h_matrix1, *h_matrix2, *h_result; + float *d_matrix1, *d_matrix2, *d_result; + int size = sizeof( float ) * MATRIX_SIZE; + + // Allocate memory for host data. + h_matrix1 = ( float* )malloc( size ); + h_matrix2 = ( float* )malloc( size ); + h_result = ( float* )malloc( size ); + + // Allocate memory for device data. + cudaMalloc( (void**)&d_matrix1, size ); + cudaMalloc( (void**)&d_matrix2, size ); + cudaMalloc( (void**)&d_result, size ); + + // Populate host matrices. + for ( int i = 0; i < MATRIX_SIZE; ++i ) { + h_matrix1[i] = i; + h_matrix2[i] = i; + } + + // Copy data in host matrices to device matrices. + cudaMemcpy( d_matrix1, h_matrix1, size, cudaMemcpyHostToDevice ); + cudaMemcpy( d_matrix2, h_matrix2, size, cudaMemcpyHostToDevice ); + + // Output operand matrices. + std::cout << "Matrix 1:" << std::endl; + debugPrintMat( MATRIX_SIZE, h_matrix1 ); + std::cout << "Matrix 2:" << std::endl; + debugPrintMat( MATRIX_SIZE, h_matrix2 ); + + // Call matAdd kernel, copy result to host, and output. + matAdd<<< 1, MATRIX_SIZE >>>( d_matrix1, d_matrix2, d_result ); + cudaMemcpy( h_result, d_result, size, cudaMemcpyDeviceToHost ); + std::cout << "Parallel add:" << std::endl; + debugPrintMat( MATRIX_SIZE, h_result ); + + // Call matSub kernel, copy result to host, and output. + matSub<<< 1, MATRIX_SIZE >>>( d_matrix1, d_matrix2, d_result ); + cudaMemcpy( h_result, d_result, size, cudaMemcpyDeviceToHost ); + std::cout << "Parallel subtract:" << std::endl; + debugPrintMat( MATRIX_SIZE, h_result ); + + // Call matMult kernel, copy result to host, and output. + matMult<<< 1, MATRIX_SIZE >>>( d_matrix1, d_matrix2, d_result ); + cudaMemcpy( h_result, d_result, size, cudaMemcpyDeviceToHost ); + std::cout << "Parallel multiply:" << std::endl; + debugPrintMat( MATRIX_SIZE, h_result ); + + // Output results of seriel matrix operations to compare results with parallel implementations. + matAdd( MATRIX_SIZE, h_matrix1, h_matrix2, h_result ); + std::cout << "Seriel add:" << std::endl; + debugPrintMat( MATRIX_SIZE, h_result ); + matSub( MATRIX_SIZE, h_matrix1, h_matrix2, h_result ); + std::cout << "Seriel subtract:" << std::endl; + debugPrintMat( MATRIX_SIZE, h_result ); + matMult( MATRIX_SIZE, h_matrix1, h_matrix2, h_result ); + std::cout << "Seriel multiply:" << std::endl; + debugPrintMat( MATRIX_SIZE, h_result ); + + // Wait for user input to stall console from exiting, so we can see the printed results. + std::cin.ignore(); + + // Release allocated memory. + free( h_matrix1 ); + free( h_matrix2 ); + free( h_result ); + cudaFree( d_matrix1 ); + cudaFree( d_matrix2 ); + cudaFree( d_result ); + + return 0; +} + + +//////////////////////////////////////////////////// +// Parallel algorithms. +//////////////////////////////////////////////////// + +__global__ +void matAdd( float *mat1, float *mat2, float *result ) +{ + int index = threadIdx.x; + result[index] = mat1[index] + mat2[index]; +} + +__global__ +void matSub( float *mat1, float *mat2, float *result ) +{ + int index = threadIdx.x; + result[index] = mat1[index] - mat2[index]; +} + +__global__ +void matMult( float *mat1, float *mat2, float *result ) +{ + int index = threadIdx.x; + result[index] = mat1[index] * mat2[index]; +} + + +//////////////////////////////////////////////////// +// Seriel algorithms. +//////////////////////////////////////////////////// + +void matAdd( int N, float *mat1, float *mat2, float *result ) +{ + for ( int i = 0; i < N; ++i ) { + result[i] = mat1[i] + mat2[i]; + } +} + + +void matSub( int N, float *mat1, float *mat2, float *result ) +{ + for ( int i = 0; i < N; ++i ) { + result[i] = mat1[i] - mat2[i]; + } +} + + +void matMult( int N, float *mat1, float *mat2, float *result ) +{ + for ( int i = 0; i < N; ++i ) { + result[i] = mat1[i] * mat2[i]; + } +} + + +//////////////////////////////////////////////////// +// Debug print. +//////////////////////////////////////////////////// + +void debugPrintMat( int N, float *mat ) +{ + for ( int i = 0; i < N; ++i ) { + std::cout << mat[i] << " "; + } + std::cout << std::endl; +} \ No newline at end of file From 137a0f045c45bb5f73e1df2c8ae1c313de26fa93 Mon Sep 17 00:00:00 2001 From: Danny Rerucha Date: Sun, 21 Sep 2014 22:49:47 -0400 Subject: [PATCH 3/6] Update README. --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/README.md b/README.md index 70ae0d3..87d1f57 100644 --- a/README.md +++ b/README.md @@ -118,3 +118,17 @@ describe the changes you make between experiments and how you are benchmarking. Please commit your changes to your forked version of the repository and open a pull request. Please write your performance analysis in your README.md. Remember to email Harmony (harmoli+CIS565@seas.upenn.edu) your grade and why. + +## PERFORMANCE ANALYSIS + +### How does changing the tile and block sizes change performance? Why? + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam eget nisi ut odio placerat imperdiet. Donec aliquet neque odio, in tempus erat mollis lobortis. Fusce ut gravida diam, et aliquam lacus. Cras suscipit ipsum quis dolor lacinia, et tempus libero accumsan. Sed nisi nisl, ornare at ipsum sit amet, facilisis viverra risus. Integer iaculis turpis ac nunc blandit, ut viverra erat volutpat. Curabitur porttitor arcu at quam rhoncus, ut gravida neque lacinia. Nunc vitae sem maximus, ultrices erat vel, pretium erat. + +### How does changing the number of planets change performance? Why? + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam eget nisi ut odio placerat imperdiet. Donec aliquet neque odio, in tempus erat mollis lobortis. Fusce ut gravida diam, et aliquam lacus. Cras suscipit ipsum quis dolor lacinia, et tempus libero accumsan. Sed nisi nisl, ornare at ipsum sit amet, facilisis viverra risus. Integer iaculis turpis ac nunc blandit, ut viverra erat volutpat. Curabitur porttitor arcu at quam rhoncus, ut gravida neque lacinia. Nunc vitae sem maximus, ultrices erat vel, pretium erat. + +### Without running experiments, how would you expect the serial and GPU verions of matrix_math to compare? Why? + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam eget nisi ut odio placerat imperdiet. Donec aliquet neque odio, in tempus erat mollis lobortis. Fusce ut gravida diam, et aliquam lacus. Cras suscipit ipsum quis dolor lacinia, et tempus libero accumsan. Sed nisi nisl, ornare at ipsum sit amet, facilisis viverra risus. Integer iaculis turpis ac nunc blandit, ut viverra erat volutpat. Curabitur porttitor arcu at quam rhoncus, ut gravida neque lacinia. Nunc vitae sem maximus, ultrices erat vel, pretium erat. \ No newline at end of file From ae07ad2939bb73cfe65e1aa3d8995004f3321a92 Mon Sep 17 00:00:00 2001 From: Danny Rerucha Date: Sun, 21 Sep 2014 23:34:42 -0400 Subject: [PATCH 4/6] Add table to README. --- Part1/PROJ_WIN/CIS565_PROJ_1.suo | Bin 31232 -> 31232 bytes Part1/PROJ_WIN/CIS565_PROJ_1/vc100.pdb | Bin 462848 -> 471040 bytes Part1/src/kernel.cu | 6 +++--- README.md | 16 ++++++++++++++++ 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/Part1/PROJ_WIN/CIS565_PROJ_1.suo b/Part1/PROJ_WIN/CIS565_PROJ_1.suo index 6d4963fc9d498ffde7bceaf987bc6c002408d4af..49e0e2f37e7c3a941cc5166f54181168cf5d763b 100644 GIT binary patch delta 166 zcmZqp!r1VIal-{BR#OHBhJTx{GEHaXV~};*E^zHUBQsE_L1S|j3tKwluE~vAiziP} zkq~UmwkRodd~Sk)&d}2xVf;bo^eqH F69AxZJBk1R delta 140 zcmZqp!r1VIal-|s$t`69n;$UsF!B{NZK>h8cAk-$fq|hxeRCBHTl(bvUNV#WbF>+c zP3DW$n_L~2G`Ta@d~<)!PF4;rptAo!F!>^j%H)!w^Sq28o*t6u=8|F_rpXZ;E<7L^ Y7?>Q$VKAwzVsl4X1>?j7fkhQe0H}CDC;$Ke diff --git a/Part1/PROJ_WIN/CIS565_PROJ_1/vc100.pdb b/Part1/PROJ_WIN/CIS565_PROJ_1/vc100.pdb index 5dcf5c27937faf0afe37849fc0cff0e1fd52fb2b..25bfc527d963b0182beb5d68c3c399861b8cb96e 100644 GIT binary patch delta 4305 zcmeH~Yfx3!703VQa@jzTmxgOqzyK-=>bYFJJhTdEdj_~n>uzn4xJ{M$uwghX%lN6^uN#A=<&+8 ze(8tqnRD)1_nftUd#(LAYY(2t863|!x-jiw0IylRu^kv03;il#pkgs_Pcv|0uKa!f zR^XzD&V5M+@Non1=5FAd>A)ZE1y1e+!dbwVx^KMbT?>3v1+4c2o11{lB;ZIRu&EUo z`wZ~=4ZtI`%`OA-ZUdg#1fC$1Hum94P7Kb7rz88`!o2_zD9#o;!`s77&^X{F4#=nyH;^buE!vUwu|c^f%~Q zx2I}(O92X*&>!po+D*Lr*)QgC@QQ(-G3iarVd_$#)7ZbjLGffpYV(%2v!l~jao9OT zzbxP|bZT4RtsTJET;7hYcK&v5`S1Aw=@b{W4aoT*5m#aSZ1Iad*+tTEW z-Oj(}w&ChXR_0$bqMy#qu#SrOiJfW{kEHlNnwzf|>UzFebCKC%tKhuzKh8NxnK{D# zk@=0CRwDa@J<&+0$m%#W78)80S-d>F5_oxeC611T)Pz5l)2{ppWfhgt{Jwdy^BtvxU4<+ymiQ9s%nj7K3PfM+^(iCv_Z4`P+{k1>rUasw z`-*OM=>UykEWKT=N+=Cf#Ul5sdC}^ghDoL9$!@Q2S{zvGX#zH)2B*8h83NAK;02S; zZt`p^u{G@A1F>hfPqIaE*fZkTTEAV`M%3(VH`^!dnT9=uXIqJ_u*-r0hb^Nkio>2A z$JY8BVH;7ibKLA)Vdt4Kp2D-O#MZ=J)#l2%C=NS6j;-|qVH;7i3*GE_!k%y9zTtU( zEOSs5dct9ivegzEH3c-k+EW#bMtbzPG>Yi3x5lxxey^~NsM*`x?CrvCm5CPb)mCEX zFk@|Ps@DqWp9RrRx{`c5;&57T6Pyt>uHB8>DY#t@?q-JvQR%?~8aqG89YYj{yg!bt^-duhQIose zXC)QUQ_k5$ZlkS<(Z=55gi@IowvuTi z-7PB(I@3^=fGAFP7shp0>x-njM%3Lcc6YZ#y1Upcfhj!ON^E5chRd%{K}U4Bb{tph ze&HHXb4%UafN;xXfa1N{O6*L$!E#r;qBz|0IIh+!glk02t#os%gu8rl$=~YPR$?pc z(za69Rws(XUKz*M`YK@?QM0Sv>>6R$>X^CBPT|>BVk>O_vVcyunUz|0$alt(wZ2x! zM%3hWZt{8|Zy&se~m2?BrO@3~^Y+YUU$I_qh2eDt@4HCiwIy!!~yU&u4T@owN4A0B3TzM3`s zdvyNXGS-r}17GDC;21&Y2|wQj+(F|oYu$-Leoy;YrSRR?S*E{B&`Ui$TQu_Y@SvufHB{aH=sK_U?o6JGEDF~}R+Pmaj-C?}vkT+Z4fHHEbZB6>{ m-<0?I;pQ-X>!uGk+K<+_sL>gJxY@@Ke|5Um{i2mLk?|j--NAeS delta 3489 zcmb_fO>f*p7`B^aw^c7oYO=c zwjhCo6ofc%;KUhXXh1?JXW+mO=ppb2;6^1x!aMts(6#GbuQJkjJ+q$2@B6%;-aEd& z_vQ6ZZa?#$VHiJ}aDfq}zgK@*QXB_Xm-<9lx05@Yub_asoC(&IR-cL(`<9TgN10_e z>J8L)5e;2G_6SN6xf>Bja!jQ#+&59g+142t3j5Tf*xHI>%Vj|nOB!xjk}-dqO60~K zM*Yot3sE(O(_0RYLrDWt?=6luf$QNgB);Pj;c^;D#&bZm#;SzMlw}ny$(oRy;Gh$C zCmJr!KR^Me6P)tQkC;+O1dhGocr5Pt#OcPND=7=bQ|KzeR^l@^jDr~hssi5_+Y$ua zXgW01`U>jii8i;pjUfXpdm~-d#V9MJ=hMytq^YT}0w9vOB$654N_yG|1+*&$QgcK) z1g}r!ZU(3<>mue|>=H1gM>%n&wt%`YcZ2BcU_mlc7W1YuiH(k8v?NXzhKcTuHxot8 zNV5Uv!y*iZ>-xW!dy0o`sk@mV$hfL1?(*1qGW@?bIEp+hF&a7uk|c;0l}}AIju`=q<=Ywdi!}6S zYnl(FCjBfFUdr+^WXS~C2TL;U=;k=DQ<>IpR{r1ZV}Bl;8D-?DG`&16&;+PA`brpG zpF2sPUHh}Pe{!Q{{yMt-_tmTBwe(8kpBp#z7sXw8F!_3A`1tFW4CCz&4THgI38tUE z^bRxkzqtRRNz-re-PQNogSI(nUmCQR2JPiRd*xxfa&+tP=%8}EeE9tjmB>v0sQy)X zcvN{*JzIaP*N@NFpI6?v`m=4`(XU)Hj1${1J~&u0R*cirW!PHU(|;Jo;|HS|fsj2A zN{?InX6yOGd&iZZYU_W)xwk;@>2r_ZoSyoeR_5$ndarR%`|7vK+Naga=C$vxR3DgT vkbaEW>St@! Date: Sun, 21 Sep 2014 23:40:49 -0400 Subject: [PATCH 5/6] Update table in README. --- README.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index aaff117..d4e2dc1 100644 --- a/README.md +++ b/README.md @@ -125,19 +125,19 @@ Remember to email Harmony (harmoli+CIS565@seas.upenn.edu) your grade and why. The following estimates were obtained simulating 2500 objects. -Number of threads per block | Number of blocks | Frame rate | Number of kernel calls | Number of wasted calls -:---: | :---: | :---: | :---: | :---: | :---: -1 | x | x | x | x | x -2 | x | x | x | x | x -4 | x | x | x | x | x -8 | x | x | x | x | x -16 | x | x | x | x | x -32 | x | x | x | x | x -64 | x | x | x | x | x -128 | x | x | x | x | x -256 | x | x | x | x | x -512 | x | x | x | x | x -1024 | x | x | x | x | x +Number of threads per block | Number of blocks | Frame rate (fps) | Number of kernel calls | Number of wasted calls +:---: | :---: | :---: | :---: | :---: +1 | 2500 | 1.5 | 2500 | 0 +2 | 1250 | 3.0 | 3750 | 1250 +4 | 625 | 5.8 | 2500 | 0 +8 | 313 | 10.5 | 2504 | 4 +16 | 157 | 19.4 | 2512 | 12 +32 | 79 | 18.8 | 2528 | 28 +64 | 40 | 17.7 | 2560 | 60 +128 | 20 | 18.3 | 2560 | 60 +256 | 10 | 17.9 | 2560 | 60 +512 | 5 | 16.4 | 2560 | 60 +1024 | 3 | 15.9 | 3072 | 572 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam eget nisi ut odio placerat imperdiet. Donec aliquet neque odio, in tempus erat mollis lobortis. Fusce ut gravida diam, et aliquam lacus. Cras suscipit ipsum quis dolor lacinia, et tempus libero accumsan. Sed nisi nisl, ornare at ipsum sit amet, facilisis viverra risus. Integer iaculis turpis ac nunc blandit, ut viverra erat volutpat. Curabitur porttitor arcu at quam rhoncus, ut gravida neque lacinia. Nunc vitae sem maximus, ultrices erat vel, pretium erat. From dfa11e61e24f76f12043f0a8c6dcffb2a0ea51c4 Mon Sep 17 00:00:00 2001 From: Danny Rerucha Date: Mon, 22 Sep 2014 00:14:36 -0400 Subject: [PATCH 6/6] Finish adding performance analysis to README. --- Part1/PROJ_WIN/CIS565_PROJ_1/vc100.pdb | Bin 471040 -> 471040 bytes README.md | 21 ++++++++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/Part1/PROJ_WIN/CIS565_PROJ_1/vc100.pdb b/Part1/PROJ_WIN/CIS565_PROJ_1/vc100.pdb index 25bfc527d963b0182beb5d68c3c399861b8cb96e..84bfaafa566023ffe8251e6d9b44dae251190216 100644 GIT binary patch delta 378 zcmZWlyGjF55Iy^vB_=U9LKH*H!v_{yalyf{#Us1U2BbOyv(O zZek}`S*ewUVAd}%b~YOCCZz*sW)3rRn3;+jtGKa-YIpP{Ev^D6mVq-I_An=+2QUHG z{?Kc5$%69vw;g7mq55wkBrW#SpR`{xY+pu6@&MDBRuW1|GsX0F=)km0$uecjR4h}q zOwBRrWS+ZK%E~htez8oG{Ara69(k#e5!uWE14lpV;Z4enyc^cj!WA- zYte*U7OXTZ@8tOV8cqKb6zb{0{uJPcgkV^lkyo7twMKdCkz&ze1b7$&^6Nlp9B9OW zD+5?4Hk~^fBIlk0$*DcD#Pyp74c)HyCZ!^ru+C{8WeHemW?gzsNXD&CS6Jj(w0kxy Si&7P06xgs+g?8vBsk1*u%w&}S delta 1067 zcmYk5X>3ek6o#MabY@zu&K*rfX{W8dEjkEVMNCmtG1M-&O6^MtA^ezz7)pd8ep%8V zA|gne(pn<;NkS~4Arei9Ut&)*_V@Nqqi^yp=YHRJ&UxQ+ZcS@OO>0J7e0bC#m_HZl zvS`P$h0tPe+vmYv_%#!rt%1`i@NyB;=%J+TK>56Au=@<(EZcr0*A`9$H6=nH33|zd${1hk z>|S3LFAr`@^a^R1Gz2!s-d|Kv;*4m}Ke|$hb{nU%t3>yEs|=g1xA4}4gPpvcENTDT zKIP2US!p!bGdxJtJHxN6Exa(`i1Z(^&9;%om)FB9jb5syh2kXmpvXR#?n)ZJWbujD zGwoN#vY6+Dn^pGxs+e!vg7j4K`8pK#%287<7?99$1X0P@8C_E(UwBtO6iL)~s_=pC zs0TuAHB!_WO*G&?d|V^Bu8FjV!)Z5 zHoisD2&2?wfkSFQ?VZgzhUc|+j~Ou?5i>4gIwNL$#B?>8?gK^5f&1=9u4w3dQ=R)- zdh@62Zo?f76*k>*CujHDG)$4@(Z%1t@s_6=O~SQWd+e0Hf##vD?v^Y^-ql2p(>R_S SGF(;))r~o!*WPp49^)Tm^|{Fa diff --git a/README.md b/README.md index d4e2dc1..28fc123 100644 --- a/README.md +++ b/README.md @@ -139,12 +139,27 @@ Number of threads per block | Number of blocks | Frame rate (fps) | Number of ke 512 | 5 | 16.4 | 2560 | 60 1024 | 3 | 15.9 | 3072 | 572 -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam eget nisi ut odio placerat imperdiet. Donec aliquet neque odio, in tempus erat mollis lobortis. Fusce ut gravida diam, et aliquam lacus. Cras suscipit ipsum quis dolor lacinia, et tempus libero accumsan. Sed nisi nisl, ornare at ipsum sit amet, facilisis viverra risus. Integer iaculis turpis ac nunc blandit, ut viverra erat volutpat. Curabitur porttitor arcu at quam rhoncus, ut gravida neque lacinia. Nunc vitae sem maximus, ultrices erat vel, pretium erat. +Here, we can postulate two primary factors related to the grid and block sizes that directly influence program performance. + +First, it is important to have BOTH many blocks in the grid and many threads per block. It is not enough to have just many blocks (2500 blocks/1 thread per block) OR many threads per block (3 blocks/1024 threads per block). Doing so does not fully take advantage of CUDA's parallel nature. This assertion is supported by the fact that the largest frame rates were achieved by the tests that appear toward the middle of the above table where the disparity between number of blocks and number of threads per block was at its smallest. + +Second, we can observe and intuitively accept that wasted kernel calls will negatively impact performance. This phenomena is the result of the number of objects we wish to simulate not neatly fitting into the number of bocks allocated based on the number of threads we have specified per block. This observation is supported by the fact that the test with 16 threads per block outperformed later tests that called the kernel functions unnecessarily more often. ### How does changing the number of planets change performance? Why? -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam eget nisi ut odio placerat imperdiet. Donec aliquet neque odio, in tempus erat mollis lobortis. Fusce ut gravida diam, et aliquam lacus. Cras suscipit ipsum quis dolor lacinia, et tempus libero accumsan. Sed nisi nisl, ornare at ipsum sit amet, facilisis viverra risus. Integer iaculis turpis ac nunc blandit, ut viverra erat volutpat. Curabitur porttitor arcu at quam rhoncus, ut gravida neque lacinia. Nunc vitae sem maximus, ultrices erat vel, pretium erat. +The following estimates were obtained using 128 threads per block. + +Number of planets | Frame rate (fps) +:---: | :---: +256 | 60.0 +512 | 60.0 +1024 | 60.0 +2048 | 25.9 +4096 | 6.4 +8192 | 1.7 + +Increasing the number of planets decreases performance. To accurately compute an n-body simulation, the gravitational forces that all bodies apply to every other body must be computed. For each planet, I compute the acceleration of that planet by looping over every other planet in the system. So, for every planet added to the system, not only must an additional thread be launched to compute the forces for the new planet, but the size of the aforementioned loop to compute forces will increase for every planet in the system. ### Without running experiments, how would you expect the serial and GPU verions of matrix_math to compare? Why? -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam eget nisi ut odio placerat imperdiet. Donec aliquet neque odio, in tempus erat mollis lobortis. Fusce ut gravida diam, et aliquam lacus. Cras suscipit ipsum quis dolor lacinia, et tempus libero accumsan. Sed nisi nisl, ornare at ipsum sit amet, facilisis viverra risus. Integer iaculis turpis ac nunc blandit, ut viverra erat volutpat. Curabitur porttitor arcu at quam rhoncus, ut gravida neque lacinia. Nunc vitae sem maximus, ultrices erat vel, pretium erat. \ No newline at end of file +Without running tests, I would expect the running times of my serial and GPU versions of matrix operations to be nearly identical. First, the matrices used in this program are very small (5x5). Since there is a certain amount of overhead needed to setup the parallel environment and launch blocks of threads, the matrices would need to be much larger to makeup for this overhead in the parallel implementations. Second, even if the matrices were much larger, I am not convinced the parallel operations would vastly outperform their serial counterparts because, in my current implementation, I am executing every thread in a single block. As can be seen in the first table of this performance analysis, performance is not great when there exist many more threads than blocks. \ No newline at end of file