From 4b07d1a4a57d2f0983a8208a08588c7b80dc0f0c Mon Sep 17 00:00:00 2001 From: Joyce C Lee Date: Sat, 20 Sep 2014 12:04:02 -0400 Subject: [PATCH 1/8] code done, not run yet --- Part1/src/matrix_math.cu | 182 +++++++++++++++++++++++++++++++++++++++ Part1/src/matrix_math.h | 8 ++ 2 files changed, 190 insertions(+) create mode 100644 Part1/src/matrix_math.cu create mode 100644 Part1/src/matrix_math.h diff --git a/Part1/src/matrix_math.cu b/Part1/src/matrix_math.cu new file mode 100644 index 0000000..b6d708c --- /dev/null +++ b/Part1/src/matrix_math.cu @@ -0,0 +1,182 @@ +#include +#include +#include +#include "glm/glm.hpp" +#include "utilities.h" +#include "kernel.h" +#include "matrix_math.h" + +using namespace std; + +// Prints a square matrix with side length of size. +void print(float* mat, int size) +{ + for (int i = 0; i < size; i++) { + for (int j = 0; j < size; j++) + cout << mat[i*size + j] << " "; + cout << endl; + } +} + +bool equals(float* A, float* B, int size) +{ + for (int i = 0; i < 5; i++) { + for (int j = 0; j < 5; j++) { + if (A[i * 5 + j] != B[i * 5 + j]) + return false; + } + } + return true; +} + +int main(int argc, char** argv) +{ + float* A = new float[25]; + float* B = new float[25]; + dim3 dimBlock(5, 5); + dim3 dimGrid(1, 1); + + for (int i = 0; i < 5; i++) { + for (int j = 0; j < 5; j++) { + A[i * 5 + j] = i * 5 + j; + B[i * 5 + j] = i * 5 + j; + } + } + + // Parallel Matrix Add + float* parC = mat_add<<>>(A, B, 5); + + // Serial Matrix Add + float* serC = new float[25]; + for (int i = 0; i < 5; i++) { + for (int j = 0; j < 5; j++) { + serC[i * 5 + j] = A[i * 5 + j] + B[i * 5 + j]; + } + } + + if (!equals(parC, serC, 5)) + cout << "Error in matrix add" << endl; + + // Parallel Matrix Sub + float* parD = mat_sub<<>>(A, B, 5); + + // Serial Matrix Sub + float* serD = new float[25]; + for (int i = 0; i < 55; i++) { + for (int j = 0; j < 5; j++) { + serD[i * 5 + j] = A[i * 5 + j] - B[i * 5 + j]; + } + } + + if (!equals(parD, serD, 5)) + cout << "Error in matrix sub" << endl; + + // Parallel Matrix Mult + float* parE = mat_mult<<>>(A, B, 5); + + // Serial Matrix Mult + float* serE = new float[25]; + int sum = 0; + for (int i = 0; i < 5; i++) { + for (int j = 0; j < 5; j++) { + for (int k = 0; k < 5; k++) + sum += A[i * 5 + k] * B[k * 5 + j]; + serE[i * 5 + j] = sum; + sum = 0; + } + } + + if (!equals(parE, serE, 5)) + cout << "Error in matrix mult" << endl; + + print(A, 5); + print(serC, 5); + print(serD, 5); + print(serE, 5); + + delete A; + delete B; + delete serC; + delete serD; + delete serE; + delete parC; + delete parD; + delete parE; + + return 0; +} + +__global__ float* mat_add(float* A, float* B, float* C, int len) +{ + float *Ad, *Bd, *Cd; + int size = len * len * sizeof(float); + cudaMalloc(Ad, size); + cudaMemcpy(Ad, A, size, cudaMemcpyHostToDevice); + cudaMalloc(Bd, size); + cudaMemcpy(Bd, B, size, cudaMembpyHostToDevice); + cudaMalloc(Cd, size); + + int tx = threadIdx.x; + int ty = threadIdx.y; + Cd[ty * len + tx] = Ad[ty * len + tx] + Bd[ty * len + tx]; + + float* C = new float[len * len]; + cudaMemcpy(C, Cd, size, cudaMemcpyDeviceToHost); + cudaFree(Ad); + cudaFree(Bd); + cudaFree(Cd); +} + +__global__ float* mat_sub(float* A, float* B, float* D, int len) +{ + float *Ad, *Bd, *Dd; + int size = len * len * sizeof(float); + cudaMalloc(Ad, size); + cudaMemcpy(Ad, A, size, cudaMemcpyHostToDevice); + cudaMalloc(Bd, size); + cudaMemcpy(Bd, B, size, cudaMembpyHostToDevice); + cudaMalloc(Dd, size); + + int tx = threadIdx.x; + int ty = threadIdx.y; + Dd[ty * len + tx] = Ad[ty * len + tx] - Bd[ty * len + tx]; + + float* D = new float[len * len]; + cudaMemcpy(D, Dd, size, cudaMemcpyDeviceToHost); + cudaFree(Ad); + cudaFree(Bd); + cudaFree(Dd); +} + +__global__ float* mat_mult(float* A, float* B, float* E, int len) +{ + __shared__ float Ads[len][len]; + __shared__ float Bds[len][len]; + int bx = blockIdx.x; int by = blockIdx.y; + int tx = threadIdx.x; int ty = threadIdx.y; + int r = by * len + ty; int c = bx * len + tx; + + float *Ad, *Bd, *Ed; + int size = len * len * sizeof(float); + cudaMalloc(Ad, size); + cudaMemcpy(Ad, A, size, cudaMemcpyHostToDevice); + cudaMalloc(Bd, size); + cudaMemcpy(Bd, B, size, cudaMembpyHostToDevice); + cudaMalloc(Ed, size); + + float val = 0; + Ads[ty][tx] = Ad[r * len + tx]; + Bds[ty][tx] = Vd[c + len * ty]; + __syncthreads(); + for (int i = 0; i < len; i++) { + val += Ads[ty][i] * Bds[i][tx]; + syncthreads(); + } + Ed[r * len + c] = val; + + float* E = new float[25]; + cudaMemcpy(E, Ed, size, cudaMemcpyDeviceToHost); + cudaFree(Ad); + cudaFree(Bd); + cudaFree(Ed); +} diff --git a/Part1/src/matrix_math.h b/Part1/src/matrix_math.h new file mode 100644 index 0000000..dfb4bdb --- /dev/null +++ b/Part1/src/matrix_math.h @@ -0,0 +1,8 @@ +#ifndef MATRIX_MATH_H +#define MATRIX_MATH_H + +__global__ void mat_add(float*, float*, float*, int); +__global__ void mat_sub(float*, float*, float*, int); +__global__ void mat_mult(float*, float*, float*, int); + +#endif From 9e6f27bffb32f3b6e82e08380bc1a410e916d0db Mon Sep 17 00:00:00 2001 From: Joyce C Lee Date: Sun, 21 Sep 2014 19:07:13 -0400 Subject: [PATCH 2/8] Part 2 done --- Part1/PROJ_WIN/CIS565_PROJ_1.suo | Bin 14336 -> 16896 bytes .../CIS565_PROJ_1/CIS565_PROJ_1.vcxproj | 236 ++-- .../CIS565_PROJ_1.vcxproj.filters | 132 +- Part1/PROJ_WIN/src/kernel.cu.deps | 1136 ++++++++--------- Part1/src/kernel.cu | 17 +- Part1/src/matrix_math.cu | 182 --- Part1/src/matrix_math.h | 8 - 7 files changed, 765 insertions(+), 946 deletions(-) delete mode 100644 Part1/src/matrix_math.cu delete mode 100644 Part1/src/matrix_math.h diff --git a/Part1/PROJ_WIN/CIS565_PROJ_1.suo b/Part1/PROJ_WIN/CIS565_PROJ_1.suo index ad46c84a9a00137f71e370ba57e24d2f64f37088..592cb636fdc573e625481190809ed022bf8471f3 100644 GIT binary patch delta 3189 zcmbVOdu*Fm6~ABleXi4dNge0?SmLxvoQLh$sq~p&v$QhKKhh&R+BO=cz!L(~3hzfeBMJO-iFrIl_W1;UEHNKX%+rbaB<9Bxcpx#)VWx}Q zdrUXzrHSmqr~7}@&{DQ>Ywf2rY;>+^#%&qd!T_Be0Jz`a98!3PSKSFlaVj$orX7sz z6sBSX@h~lBJ*bud%S;g!u|*d1kN~{>QPD{^?3LT>!bJq-MvdI@d%dlQWjnO>fICDT^XGqsB%kZ-pAq8OoNJ%1hx&1r*sim@RRQO)31W zA`pp~=$dH~wvF_P>BqF1XC_Oog`&A*w4R&K5Ho9;JH$JPE4x+@B)}iBrd8Mne=M1$WW(c~|p)BN;gf zJoF023x??J{0Asn*rS@UIt!2#8n~=~l16=9Z4E$ky`pwB} zE9D+Z`lLP5QA=T=C%MZ_hx&gH@Asj*?)TFML_SNgwy@>n!?(T;oDT^XS#L!h#~*K> z4+}b$OFix#89FrX(hI*9-PN2ybv1jo|X=~yVvcqcTlt@3QN>gUPmV@ z3Nwc-LOh#x>Z|CTx&h^G+=FB6uoRs#B__l%{0D_a^obea2OeS}Mk(ygi3ntq;NB@` zolf6;aPCBKB49Z_Jkv$CwAFxN$rPcuU5k{ml z;uQLOlbRL|L>__ucEDiz8dx-wX1lI<(u|y4cg5k~8DXYSKA2{LE0;GdesbokfxzppH(dU{@3;NiUYN~bpA_6} zjy1#;4O<$Z|1>Ns`+?=tV&igNH?S`NcqF=(w%a;ZY{m}j|Jkg()UbCp;`j5_i9t`= zx+s`;iu^94JaA{Arrg1i$cNwQ^+n!&@%by?oL+r3pTji!#9_1rw@FC&#Nh1HCZFtCa%wZ<^Jm^MV%!L%7=(ZIu(a+Yrn=PJR$)pYf31t3Gi8<^rH6(Z4|$ z_le^u*DUC9$fm#z;D57UCSiI8GQZGHfBVWu72gdz6wk}82VUtd)hl$}S(lzEYwjwPWox22D{n3ddR-rG}CRKw@w7(#qVZ%{X!O^dHN-fvvf0yl47z13w{ zSelZtx?;7tJ7Y6dyJ07pDhj*3YAqPMQkiiuEnqaHGQ%xH)Scs6i?{q;l7bu%MVl;A zD^)d(DpSy0pv5Mu)WLM4pJ@OOFLE@8JaT!%Vi8|D4t5s6xeB5;t7u)3)qLpkgD@Fe z)ngzMmpncc0i@82MU!|MZ7v<6=d$W)pJGt!pvmb;E-je=;Q{b?62LFAGdy1yeob0= ztmn>d=9-28hY=%xr)Tt7Ih|R5a^_fHj=$9XkL#<;<3}45?7dhXNvni4lCp3H8w=^R zXf*xv?C;Nw-_kC=(e;7<(siyyxg^o0-0l^p+;02iP76$ggEObbF-_wo!kbC78y^=P9iWw*+YVQZ>_55#F&bl1}lT@|#RC9Cz|@DnbX zL**!l0INt&JlgLgt-!6E057ETnm2hlZe<3%=XBm4oyW#(;57lZjLm|G=t}Obg;DSj ZBpkFP9LTBzJiefk3)QcH_#%ME{{ZNMvTgtX delta 1933 zcmchYUrbw79LMj0wv_gk|FCwzxD)HZk{X^PY zp5M8@d(Sz`ue0UZw_J?fbl+i`?VX(+5_872T-m-k`VLELo@IGdtEnk?aFV@e+x(H` z3J{4FHQ$TJpjiMq@6e{Eo>q%BG_U2q^T%!Iz^s)|}f#o!aUWzGat=N6p#aFk>@wR#xu(t`0Bu?(6n zD^zNP!NXh_xQ0@0)-BLTO$m*NIx_2ROhZ=&hG<=UlrHeln$y8VN)?RhMRe!+ck>pU zGYJ}aO0&GIf>MPeCZQOMW3KC4ME&@c8ny4w<|IN(PXF1O0onO+O!@odY_@fXn@h4WQL zixtCaCAqoRM<>Au8t5;?_;1P!wHG7hi28i_Fr2^Tpn({K3G~wnU(*S58+~l4r#H-2 z8ah@-&smz-?E~Ik`q^C0KB7O&eS?8Mc{UNBO8BGFWH=H^O1Al)t|mDe4kY5q_@pAu zg_9|NL`o{DU^p&0>}_^=E+B_vfk-MCl9Ng>623&EmS%Q`j~B#vsbnaTl&AfPXgm^@ zgYiHr8j2}NIS@`dyPQ1TOemmqv?jyRRK%}@<1u;GpHLiXsn(p9B9n)P7C1Rln57L{ZCU$r&@>Y(U-R$s^(1cV`QMX%Bw9@KzwEWw7 z|KE30=W#V_9&cxK?|=NwkjQGd$d?|(`>z${rP=MrTWOUqZp zp@Y7vY@$SUKUpQs*3I_+aGwo*eL$=sPO)Gg*$6Fe9Y7$NhIm3 z$Tgs+b*U%ayrq2^!v^Wk<|Xy85@_McCF2G7<^Y6ht1V=1v60t$k2dPAvounTrQ5tB zKfrjs_b2Fw(V0t&ZHp{M58Ga2aY{WkLTeg_aTcM^0fdZCJf!jNd2Ek-gk7OWjXwG| yzvouFC&whz!f6G2Ba_nUqi>vc+UoR){O9M#+vA`Un~lb?vgQ1pu^`>=uK5R>1Yaot 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..ac3a3c7 100644 --- a/Part1/PROJ_WIN/CIS565_PROJ_1/CIS565_PROJ_1.vcxproj +++ b/Part1/PROJ_WIN/CIS565_PROJ_1/CIS565_PROJ_1.vcxproj @@ -1,119 +1,119 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {D7BEFF7A-4902-4B7E-922B-B0417A66864C} - Project3 - - - - Application - true - MultiByte - v100 - - - Application - false - true - MultiByte - v100 - - - - - - - - - - - - - - false - - - - Level3 - Disabled - $(SolutionDir)/shared/glew/include/;$(SolutionDir)/shared/freeglut/include/;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - - - true - $(SolutionDir)/shared/glew/lib;$(SolutionDir)/shared/freeglut/lib;%(AdditionalLibraryDirectories) - opengl32.lib;glut32.lib;glew32.lib;freeglut.lib;cudart.lib;%(AdditionalDependencies) - Console - mainCRTStartup - - - $(CudaToolkitIncludeDir) - $(ProjectDir)$(Platform)/$(Configuration)/%(Filename)%(Extension).obj - true - true - true - compute_10,sm_10;compute_20,sm_20;compute_30,sm_30 - - - - - Level3 - MaxSpeed - true - true - $(SolutionDir)/shared/glew/include/;$(SolutionDir)/shared/freeglut/include/;%(AdditionalIncludeDirectories) - - - true - true - true - opengl32.lib;glut32.lib;glew32.lib;freeglut.lib;cudart.lib;%(AdditionalDependencies) - $(SolutionDir)/shared/glew/lib;$(SolutionDir)/shared/freeglut/lib;%(AdditionalLibraryDirectories) - - - $(ProjectDir)$(Platform)/$(Configuration)/%(Filename)%(Extension).obj - - - $(CudaToolkitIncludeDir) - - - - - - - - - - Document - compute_10,sm_10;compute_20,sm_20 - - - - - - - - - - - - - - - - - - - - + + + + + Debug + Win32 + + + Release + Win32 + + + + {D7BEFF7A-4902-4B7E-922B-B0417A66864C} + Project3 + + + + Application + true + MultiByte + v100 + + + Application + false + true + MultiByte + v100 + + + + + + + + + + + + + + false + + + + Level3 + Disabled + $(SolutionDir)/shared/glew/include/;$(SolutionDir)/shared/freeglut/include/;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + true + $(SolutionDir)/shared/glew/lib;$(SolutionDir)/shared/freeglut/lib;%(AdditionalLibraryDirectories) + opengl32.lib;glut32.lib;glew32.lib;freeglut.lib;cudart.lib;%(AdditionalDependencies) + Console + mainCRTStartup + + + $(CudaToolkitIncludeDir) + $(ProjectDir)$(Platform)/$(Configuration)/%(Filename)%(Extension).obj + true + true + true + compute_10,sm_10;compute_20,sm_20;compute_30,sm_30 + + + + + Level3 + MaxSpeed + true + true + $(SolutionDir)/shared/glew/include/;$(SolutionDir)/shared/freeglut/include/;%(AdditionalIncludeDirectories) + + + true + true + true + opengl32.lib;glut32.lib;glew32.lib;freeglut.lib;cudart.lib;%(AdditionalDependencies) + $(SolutionDir)/shared/glew/lib;$(SolutionDir)/shared/freeglut/lib;%(AdditionalLibraryDirectories) + + + $(ProjectDir)$(Platform)/$(Configuration)/%(Filename)%(Extension).obj + + + $(CudaToolkitIncludeDir) + + + + + + + + + + Document + compute_10,sm_10;compute_20,sm_20 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Part1/PROJ_WIN/CIS565_PROJ_1/CIS565_PROJ_1.vcxproj.filters b/Part1/PROJ_WIN/CIS565_PROJ_1/CIS565_PROJ_1.vcxproj.filters index e6c27f6..fc72bf7 100644 --- a/Part1/PROJ_WIN/CIS565_PROJ_1/CIS565_PROJ_1.vcxproj.filters +++ b/Part1/PROJ_WIN/CIS565_PROJ_1/CIS565_PROJ_1.vcxproj.filters @@ -1,67 +1,67 @@ - - - - - {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 - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Source Files - - - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - + + + + + {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 + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + \ No newline at end of file diff --git a/Part1/PROJ_WIN/src/kernel.cu.deps b/Part1/PROJ_WIN/src/kernel.cu.deps index 926dd55..b7bf3ef 100644 --- a/Part1/PROJ_WIN/src/kernel.cu.deps +++ b/Part1/PROJ_WIN/src/kernel.cu.deps @@ -1,568 +1,568 @@ -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 (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 (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 (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 (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 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cmath -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\yvals.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\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 (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 (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 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtwrn.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\limits -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ymath.h -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\wchar.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\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:\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:\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 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\new -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\exception -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\eh.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\malloc.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\xutility -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\utility -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\iosfwd -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdbg.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\type_traits -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xtr1common -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\typeinfo -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.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\setjmp.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\immintrin.h -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\wmmintrin.h -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\nmmintrin.h -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\smmintrin.h -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\tmmintrin.h -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\pmmintrin.h -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\emmintrin.h -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xmmintrin.h -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\mmintrin.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\ammintrin.h -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\mm3dnow.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\mmintrin.h -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\istream -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ostream -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ios -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocnum -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\streambuf -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xiosbase -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocale -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdexcept -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xstring -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocinfo -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocinfo.h -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ctype.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\locale.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\xdebug -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\system_error -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cerrno -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\errno.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\share.h -c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\iterator -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:\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\v5.5\include\cuda_runtime.h +c:\program files\nvidia gpu computing toolkit\cuda\v5.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 (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 (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 (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 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cmath +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\yvals.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\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 (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 +s:\cis565\project-1\part1\src\glm/glm.hpp +s:\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 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtwrn.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\limits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ymath.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\wchar.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\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 +s:\cis565\project-1\part1\src\glm\core/setup.hpp +s:\cis565\project-1\part1\src\glm\./core/_detail.hpp +s:\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 +s:\cis565\project-1\part1\src\glm\./core/_vectorize.hpp +s:\cis565\project-1\part1\src\glm\./core/type.hpp +s:\cis565\project-1\part1\src\glm\core\type_half.hpp +s:\cis565\project-1\part1\src\glm\core\type_half.inl +s:\cis565\project-1\part1\src\glm\core\_detail.hpp +s:\cis565\project-1\part1\src\glm\core\type_float.hpp +s:\cis565\project-1\part1\src\glm\core\type_half.hpp +s:\cis565\project-1\part1\src\glm\core\setup.hpp +s:\cis565\project-1\part1\src\glm\core\type_int.hpp +s:\cis565\project-1\part1\src\glm\core\setup.hpp +s:\cis565\project-1\part1\src\glm\core\_detail.hpp +s:\cis565\project-1\part1\src\glm\core\type_gentype.hpp +s:\cis565\project-1\part1\src\glm\core\type_size.hpp +s:\cis565\project-1\part1\src\glm\core\type_vec1.hpp +s:\cis565\project-1\part1\src\glm\core\type_vec.hpp +s:\cis565\project-1\part1\src\glm\core\type_gentype.hpp +s:\cis565\project-1\part1\src\glm\core\type_float.hpp +s:\cis565\project-1\part1\src\glm\core\type_int.hpp +s:\cis565\project-1\part1\src\glm\core\type_size.hpp +s:\cis565\project-1\part1\src\glm\core\_swizzle.hpp +s:\cis565\project-1\part1\src\glm\core\_swizzle_func.hpp +s:\cis565\project-1\part1\src\glm\core\type_vec1.inl +s:\cis565\project-1\part1\src\glm\core\type_vec2.hpp +s:\cis565\project-1\part1\src\glm\core\type_vec.hpp +s:\cis565\project-1\part1\src\glm\core\type_float.hpp +s:\cis565\project-1\part1\src\glm\core\type_int.hpp +s:\cis565\project-1\part1\src\glm\core\type_size.hpp +s:\cis565\project-1\part1\src\glm\core\_swizzle.hpp +s:\cis565\project-1\part1\src\glm\core\type_vec2.inl +s:\cis565\project-1\part1\src\glm\core\type_vec3.hpp +s:\cis565\project-1\part1\src\glm\core\type_vec.hpp +s:\cis565\project-1\part1\src\glm\core\type_float.hpp +s:\cis565\project-1\part1\src\glm\core\type_int.hpp +s:\cis565\project-1\part1\src\glm\core\type_size.hpp +s:\cis565\project-1\part1\src\glm\core\_swizzle.hpp +s:\cis565\project-1\part1\src\glm\core\type_vec3.inl +s:\cis565\project-1\part1\src\glm\core\type_vec4.hpp +s:\cis565\project-1\part1\src\glm\core\type_vec.hpp +s:\cis565\project-1\part1\src\glm\core\type_float.hpp +s:\cis565\project-1\part1\src\glm\core\type_int.hpp +s:\cis565\project-1\part1\src\glm\core\type_size.hpp +s:\cis565\project-1\part1\src\glm\core\_swizzle.hpp +s:\cis565\project-1\part1\src\glm\core\type_vec4.inl +s:\cis565\project-1\part1\src\glm\core\type_mat2x2.hpp +s:\cis565\project-1\part1\src\glm\core\type_mat.hpp +s:\cis565\project-1\part1\src\glm\core\type_gentype.hpp +s:\cis565\project-1\part1\src\glm\core\type_mat2x2.inl +s:\cis565\project-1\part1\src\glm\core\type_mat2x3.hpp +s:\cis565\project-1\part1\src\glm\core\type_mat.hpp +s:\cis565\project-1\part1\src\glm\core\type_mat2x3.inl +s:\cis565\project-1\part1\src\glm\core\type_mat2x4.hpp +s:\cis565\project-1\part1\src\glm\core\type_mat.hpp +s:\cis565\project-1\part1\src\glm\core\type_mat2x4.inl +s:\cis565\project-1\part1\src\glm\core\type_mat3x2.hpp +s:\cis565\project-1\part1\src\glm\core\type_mat.hpp +s:\cis565\project-1\part1\src\glm\core\type_mat3x2.inl +s:\cis565\project-1\part1\src\glm\core\type_mat3x3.hpp +s:\cis565\project-1\part1\src\glm\core\type_mat.hpp +s:\cis565\project-1\part1\src\glm\core\type_mat3x3.inl +s:\cis565\project-1\part1\src\glm\core\type_mat3x4.hpp +s:\cis565\project-1\part1\src\glm\core\type_mat.hpp +s:\cis565\project-1\part1\src\glm\core\type_mat3x4.inl +s:\cis565\project-1\part1\src\glm\core\type_mat4x2.hpp +s:\cis565\project-1\part1\src\glm\core\type_mat.hpp +s:\cis565\project-1\part1\src\glm\core\type_mat4x2.inl +s:\cis565\project-1\part1\src\glm\core\type_mat4x3.hpp +s:\cis565\project-1\part1\src\glm\core\type_mat.hpp +s:\cis565\project-1\part1\src\glm\core\type_mat4x3.inl +s:\cis565\project-1\part1\src\glm\core\type_mat4x4.hpp +s:\cis565\project-1\part1\src\glm\core\type_mat.hpp +s:\cis565\project-1\part1\src\glm\core\type_mat4x4.inl +s:\cis565\project-1\part1\src\glm\./core/func_trigonometric.hpp +s:\cis565\project-1\part1\src\glm\core\func_trigonometric.inl +s:\cis565\project-1\part1\src\glm\./core/func_exponential.hpp +s:\cis565\project-1\part1\src\glm\core\func_exponential.inl +s:\cis565\project-1\part1\src\glm\./core/func_common.hpp +s:\cis565\project-1\part1\src\glm\core\_fixes.hpp +s:\cis565\project-1\part1\src\glm\core\func_common.inl +s:\cis565\project-1\part1\src\glm\./core/func_packing.hpp +s:\cis565\project-1\part1\src\glm\core\func_packing.inl +s:\cis565\project-1\part1\src\glm\./core/func_geometric.hpp +s:\cis565\project-1\part1\src\glm\core\func_geometric.inl +s:\cis565\project-1\part1\src\glm\./core/func_matrix.hpp +s:\cis565\project-1\part1\src\glm\core\func_matrix.inl +s:\cis565\project-1\part1\src\glm\./core/func_vector_relational.hpp +s:\cis565\project-1\part1\src\glm\core\_detail.hpp +s:\cis565\project-1\part1\src\glm\core\func_vector_relational.inl +s:\cis565\project-1\part1\src\glm\./core/func_integer.hpp +s:\cis565\project-1\part1\src\glm\core\func_integer.inl +s:\cis565\project-1\part1\src\glm\./core/func_noise.hpp +s:\cis565\project-1\part1\src\glm\core\func_noise.inl +s:\cis565\project-1\part1\src\glm\./core/_swizzle.hpp +s:\cis565\project-1\part1\src\utilities.h +s:\cis565\project-1\part1\src\glm/glm.hpp +s:\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 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\new +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\exception +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\eh.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\malloc.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\xutility +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\utility +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\iosfwd +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdbg.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\type_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xtr1common +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\typeinfo +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.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\setjmp.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\immintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\wmmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\nmmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\smmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\tmmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\pmmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\emmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xmmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\mmintrin.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\ammintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\mm3dnow.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\mmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\istream +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ostream +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ios +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocnum +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\streambuf +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xiosbase +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocale +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdexcept +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xstring +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocinfo +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocinfo.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ctype.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\locale.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\xdebug +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\system_error +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cerrno +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\errno.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\share.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\iterator +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 +s:\cis565\project-1\part1\src\cudaMat4.h +s:\cis565\project-1\part1\src\glm/glm.hpp +s:\cis565\project-1\part1\src\glm\core/_fixes.hpp +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\cuda_runtime.h +s:\cis565\project-1\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:\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 diff --git a/Part1/src/kernel.cu b/Part1/src/kernel.cu index ee9b9e5..d66e7c1 100644 --- a/Part1/src/kernel.cu +++ b/Part1/src/kernel.cu @@ -9,7 +9,7 @@ dim3 threadsPerBlock(blockSize); int numObjects; -const float planetMass = 3e8; +const __device__ float planetMass = 3e8; const __device__ float starMass = 5e10; const float scene_scale = 2e2; //size of the height map in simulation space @@ -89,19 +89,28 @@ __global__ void generateCircularVelArray(int time, int N, glm::vec3 * arr, glm:: // REMEMBER : F = (G * m_a * m_b) / (r_ab ^ 2) __device__ glm::vec3 accelerate(int N, glm::vec4 my_pos, glm::vec4 * their_pos) { - return glm::vec3(0.0f); + glm::vec3 force(0.0f); + for (int i = 0; i < N; i++) { + force += glm::vec3(their_pos[i] - my_pos) * + (float) (G * planetMass * planetMass / pow(glm::length(my_pos - their_pos[i]), 2)); + } + return force; } // TODO : update the acceleration of each body __global__ void updateF(int N, float dt, glm::vec4 * pos, glm::vec3 * vel, glm::vec3 * acc) { - // FILL IN HERE + for (int i = 0; i < N; i++) { + *acc = accelerate(N, pos[i], 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) { - // FILL IN HERE + for (int i = 0; i < N; i++) { + *pos = glm::vec4(*pos + dt * glm::vec4(*vel, 0)); + } } // Update the vertex buffer object diff --git a/Part1/src/matrix_math.cu b/Part1/src/matrix_math.cu deleted file mode 100644 index b6d708c..0000000 --- a/Part1/src/matrix_math.cu +++ /dev/null @@ -1,182 +0,0 @@ -#include -#include -#include -#include "glm/glm.hpp" -#include "utilities.h" -#include "kernel.h" -#include "matrix_math.h" - -using namespace std; - -// Prints a square matrix with side length of size. -void print(float* mat, int size) -{ - for (int i = 0; i < size; i++) { - for (int j = 0; j < size; j++) - cout << mat[i*size + j] << " "; - cout << endl; - } -} - -bool equals(float* A, float* B, int size) -{ - for (int i = 0; i < 5; i++) { - for (int j = 0; j < 5; j++) { - if (A[i * 5 + j] != B[i * 5 + j]) - return false; - } - } - return true; -} - -int main(int argc, char** argv) -{ - float* A = new float[25]; - float* B = new float[25]; - dim3 dimBlock(5, 5); - dim3 dimGrid(1, 1); - - for (int i = 0; i < 5; i++) { - for (int j = 0; j < 5; j++) { - A[i * 5 + j] = i * 5 + j; - B[i * 5 + j] = i * 5 + j; - } - } - - // Parallel Matrix Add - float* parC = mat_add<<>>(A, B, 5); - - // Serial Matrix Add - float* serC = new float[25]; - for (int i = 0; i < 5; i++) { - for (int j = 0; j < 5; j++) { - serC[i * 5 + j] = A[i * 5 + j] + B[i * 5 + j]; - } - } - - if (!equals(parC, serC, 5)) - cout << "Error in matrix add" << endl; - - // Parallel Matrix Sub - float* parD = mat_sub<<>>(A, B, 5); - - // Serial Matrix Sub - float* serD = new float[25]; - for (int i = 0; i < 55; i++) { - for (int j = 0; j < 5; j++) { - serD[i * 5 + j] = A[i * 5 + j] - B[i * 5 + j]; - } - } - - if (!equals(parD, serD, 5)) - cout << "Error in matrix sub" << endl; - - // Parallel Matrix Mult - float* parE = mat_mult<<>>(A, B, 5); - - // Serial Matrix Mult - float* serE = new float[25]; - int sum = 0; - for (int i = 0; i < 5; i++) { - for (int j = 0; j < 5; j++) { - for (int k = 0; k < 5; k++) - sum += A[i * 5 + k] * B[k * 5 + j]; - serE[i * 5 + j] = sum; - sum = 0; - } - } - - if (!equals(parE, serE, 5)) - cout << "Error in matrix mult" << endl; - - print(A, 5); - print(serC, 5); - print(serD, 5); - print(serE, 5); - - delete A; - delete B; - delete serC; - delete serD; - delete serE; - delete parC; - delete parD; - delete parE; - - return 0; -} - -__global__ float* mat_add(float* A, float* B, float* C, int len) -{ - float *Ad, *Bd, *Cd; - int size = len * len * sizeof(float); - cudaMalloc(Ad, size); - cudaMemcpy(Ad, A, size, cudaMemcpyHostToDevice); - cudaMalloc(Bd, size); - cudaMemcpy(Bd, B, size, cudaMembpyHostToDevice); - cudaMalloc(Cd, size); - - int tx = threadIdx.x; - int ty = threadIdx.y; - Cd[ty * len + tx] = Ad[ty * len + tx] + Bd[ty * len + tx]; - - float* C = new float[len * len]; - cudaMemcpy(C, Cd, size, cudaMemcpyDeviceToHost); - cudaFree(Ad); - cudaFree(Bd); - cudaFree(Cd); -} - -__global__ float* mat_sub(float* A, float* B, float* D, int len) -{ - float *Ad, *Bd, *Dd; - int size = len * len * sizeof(float); - cudaMalloc(Ad, size); - cudaMemcpy(Ad, A, size, cudaMemcpyHostToDevice); - cudaMalloc(Bd, size); - cudaMemcpy(Bd, B, size, cudaMembpyHostToDevice); - cudaMalloc(Dd, size); - - int tx = threadIdx.x; - int ty = threadIdx.y; - Dd[ty * len + tx] = Ad[ty * len + tx] - Bd[ty * len + tx]; - - float* D = new float[len * len]; - cudaMemcpy(D, Dd, size, cudaMemcpyDeviceToHost); - cudaFree(Ad); - cudaFree(Bd); - cudaFree(Dd); -} - -__global__ float* mat_mult(float* A, float* B, float* E, int len) -{ - __shared__ float Ads[len][len]; - __shared__ float Bds[len][len]; - int bx = blockIdx.x; int by = blockIdx.y; - int tx = threadIdx.x; int ty = threadIdx.y; - int r = by * len + ty; int c = bx * len + tx; - - float *Ad, *Bd, *Ed; - int size = len * len * sizeof(float); - cudaMalloc(Ad, size); - cudaMemcpy(Ad, A, size, cudaMemcpyHostToDevice); - cudaMalloc(Bd, size); - cudaMemcpy(Bd, B, size, cudaMembpyHostToDevice); - cudaMalloc(Ed, size); - - float val = 0; - Ads[ty][tx] = Ad[r * len + tx]; - Bds[ty][tx] = Vd[c + len * ty]; - __syncthreads(); - for (int i = 0; i < len; i++) { - val += Ads[ty][i] * Bds[i][tx]; - syncthreads(); - } - Ed[r * len + c] = val; - - float* E = new float[25]; - cudaMemcpy(E, Ed, size, cudaMemcpyDeviceToHost); - cudaFree(Ad); - cudaFree(Bd); - cudaFree(Ed); -} diff --git a/Part1/src/matrix_math.h b/Part1/src/matrix_math.h deleted file mode 100644 index dfb4bdb..0000000 --- a/Part1/src/matrix_math.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef MATRIX_MATH_H -#define MATRIX_MATH_H - -__global__ void mat_add(float*, float*, float*, int); -__global__ void mat_sub(float*, float*, float*, int); -__global__ void mat_mult(float*, float*, float*, int); - -#endif From 4fc663926405335406648cb154974f04f9648c61 Mon Sep 17 00:00:00 2001 From: Joyce C Lee Date: Sun, 21 Sep 2014 19:09:10 -0400 Subject: [PATCH 3/8] Part 2 done --- Part2/Part2/Part2.sln | 26 +++++ Part2/Part2/Part2/Part2.vcxproj | 153 ++++++++++++++++++++++++ Part2/Part2/Part2/matrix_math.cpp | 109 +++++++++++++++++ Part2/Part2/Part2/matrix_math.cu | 188 ++++++++++++++++++++++++++++++ Part2/Part2/Part2/matrix_math.h | 11 ++ 5 files changed, 487 insertions(+) create mode 100755 Part2/Part2/Part2.sln create mode 100755 Part2/Part2/Part2/Part2.vcxproj create mode 100755 Part2/Part2/Part2/matrix_math.cpp create mode 100755 Part2/Part2/Part2/matrix_math.cu create mode 100755 Part2/Part2/Part2/matrix_math.h diff --git a/Part2/Part2/Part2.sln b/Part2/Part2/Part2.sln new file mode 100755 index 0000000..76bed6a --- /dev/null +++ b/Part2/Part2/Part2.sln @@ -0,0 +1,26 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Part2", "Part2\Part2.vcxproj", "{8A2EDEF5-66DB-4AE7-96D9-B696FD26EC64}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8A2EDEF5-66DB-4AE7-96D9-B696FD26EC64}.Debug|Win32.ActiveCfg = Debug|Win32 + {8A2EDEF5-66DB-4AE7-96D9-B696FD26EC64}.Debug|Win32.Build.0 = Debug|Win32 + {8A2EDEF5-66DB-4AE7-96D9-B696FD26EC64}.Debug|x64.ActiveCfg = Debug|x64 + {8A2EDEF5-66DB-4AE7-96D9-B696FD26EC64}.Debug|x64.Build.0 = Debug|x64 + {8A2EDEF5-66DB-4AE7-96D9-B696FD26EC64}.Release|Win32.ActiveCfg = Release|Win32 + {8A2EDEF5-66DB-4AE7-96D9-B696FD26EC64}.Release|Win32.Build.0 = Release|Win32 + {8A2EDEF5-66DB-4AE7-96D9-B696FD26EC64}.Release|x64.ActiveCfg = Release|x64 + {8A2EDEF5-66DB-4AE7-96D9-B696FD26EC64}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Part2/Part2/Part2/Part2.vcxproj b/Part2/Part2/Part2/Part2.vcxproj new file mode 100755 index 0000000..d11ab9c --- /dev/null +++ b/Part2/Part2/Part2/Part2.vcxproj @@ -0,0 +1,153 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {8A2EDEF5-66DB-4AE7-96D9-B696FD26EC64} + Part2 + + + + Application + true + MultiByte + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + + + + + + + + true + + + true + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + true + Console + cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + echo copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)" +copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)" + + + + + Level3 + Disabled + WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + true + Console + cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + echo copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)" +copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)" + + + + + Level3 + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + true + true + true + Console + cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + echo copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)" +copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)" + + + $(ProjectDir)%(Filename)%(Extension).obj + + + + + Level3 + MaxSpeed + true + true + WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + true + true + true + Console + cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + echo copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)" +copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)" + + + + + + + + + + \ No newline at end of file diff --git a/Part2/Part2/Part2/matrix_math.cpp b/Part2/Part2/Part2/matrix_math.cpp new file mode 100755 index 0000000..c06d261 --- /dev/null +++ b/Part2/Part2/Part2/matrix_math.cpp @@ -0,0 +1,109 @@ +#include +#include +#include +#include +#include +#include "matrix_math.h" + +using namespace std; + +// Prints a square matrix with side length of size. +void print(float* mat, int size) +{ + for (int i = 0; i < size; i++) { + for (int j = 0; j < size; j++) + cout << mat[i*size + j] << " "; + cout << endl; + } +} + +bool equals(float* A, float* B, int size) +{ + for (int i = 0; i < 5; i++) { + for (int j = 0; j < 5; j++) { + if (A[i * 5 + j] != B[i * 5 + j]) + return false; + } + } + return true; +} + +int main(int argc, char** argv) +{ + float* A = new float[25]; + float* B = new float[25]; + dim3 dimBlock(5, 5); + dim3 dimGrid(1, 1); + + for (int i = 0; i < 5; i++) { + for (int j = 0; j < 5; j++) { + A[i * 5 + j] = i * 5 + j; + B[i * 5 + j] = i * 5 + j; + } + } + + // Parallel Matrix Add + float* parC = new float[25]; + //mat_add<<>>(A, B, parC, 5); + + // Serial Matrix Add + float* serC = new float[25]; + for (int i = 0; i < 5; i++) { + for (int j = 0; j < 5; j++) { + serC[i * 5 + j] = A[i * 5 + j] + B[i * 5 + j]; + } + } + + if (!equals(parC, serC, 5)) + cout << "Error in matrix add" << endl; + + // Parallel Matrix Sub + float* parD = new float[25]; + //mat_sub<<>>(A, B, parD, 5); + + // Serial Matrix Sub + float* serD = new float[25]; + for (int i = 0; i < 55; i++) { + for (int j = 0; j < 5; j++) { + serD[i * 5 + j] = A[i * 5 + j] - B[i * 5 + j]; + } + } + + if (!equals(parD, serD, 5)) + cout << "Error in matrix sub" << endl; + + // Parallel Matrix Mult + float* parE = new float[25]; + //mat_mult<<>>(A, B, parE, 5); + + // Serial Matrix Mult + float* serE = new float[25]; + int sum = 0; + for (int i = 0; i < 5; i++) { + for (int j = 0; j < 5; j++) { + for (int k = 0; k < 5; k++) + sum += A[i * 5 + k] * B[k * 5 + j]; + serE[i * 5 + j] = sum; + sum = 0; + } + } + + if (!equals(parE, serE, 5)) + cout << "Error in matrix mult" << endl; + + print(A, 5); + print(serC, 5); + print(serD, 5); + print(serE, 5); + + delete A; + delete B; + delete serC; + delete serD; + delete serE; + delete parC; + delete parD; + delete parE; + + return 0; +} diff --git a/Part2/Part2/Part2/matrix_math.cu b/Part2/Part2/Part2/matrix_math.cu new file mode 100755 index 0000000..47776cc --- /dev/null +++ b/Part2/Part2/Part2/matrix_math.cu @@ -0,0 +1,188 @@ +#include "cuda_runtime.h" +#include "device_launch_parameters.h" +#include "matrix_math.h" + +#include +#include +#include + + +using namespace std; + +// Prints a square matrix with side length of size. +void print(float* mat, int size) +{ + for (int i = 0; i < size; i++) { + for (int j = 0; j < size; j++) + cout << mat[i*size + j] << " "; + cout << endl; + } + cout << endl; +} + +bool equals(float* A, float* B, int size) +{ + for (int i = 0; i < 5; i++) { + for (int j = 0; j < 5; j++) { + if (A[i * 5 + j] - B[i * 5 + j]) + return false; + } + } + return true; +} + +__global__ void mat_add(float* A, float* B, float* C, int len) +{ + int tx = threadIdx.x; + int ty = threadIdx.y; + C[ty * len + tx] = A[ty * len + tx] + B[ty * len + tx]; +} + +__global__ void mat_sub(float* A, float* B, float* D, int len) +{ + int tx = threadIdx.x; + int ty = threadIdx.y; + D[ty * len + tx] = A[ty * len + tx] - B[ty * len + tx]; +} + +__global__ void mat_mult(float* A, float* B, float* M, int len) +{ + __shared__ float Ads[5][5]; + __shared__ float Bds[5][5]; + int bx = blockIdx.x; int by = blockIdx.y; + int tx = threadIdx.x; int ty = threadIdx.y; + int r = by * len + ty; int c = bx * len + tx; + + float val = 0; + Ads[ty][tx] = A[r * len + tx]; + Bds[ty][tx] = B[c + len * ty]; + __syncthreads(); + for (int i = 0; i < len; i++) + val += Ads[ty][i] * Bds[i][tx]; + __syncthreads(); + + M[r * len + c] = val; +} + +int main(int argc, char** argv) +{ + float* A = new float[25]; + float* B = new float[25]; + dim3 dimBlock(5, 5); + dim3 dimGrid(1, 1); + + for (int i = 0; i < 5; i++) { + for (int j = 0; j < 5; j++) { + A[i * 5 + j] = i * 5 + j; + B[i * 5 + j] = i * 5 + j; + } + } + + // Parallel Matrix Add + float* parC = new float[25]; + float *Ad, *Bd, *Cd; + int size = 5 * 5 * sizeof(float); + cudaMalloc(&Ad, size); + cudaMemcpy(Ad, A, size, cudaMemcpyHostToDevice); + cudaMalloc(&Bd, size); + cudaMemcpy(Bd, B, size, cudaMemcpyHostToDevice); + cudaMalloc(&Cd, size); + + mat_add<<>>(Ad, Bd, Cd, 5); + + cudaMemcpy(parC, Cd, size, cudaMemcpyDeviceToHost); + cudaFree(Cd); + + // Serial Matrix Add + float* serC = new float[25]; + for (int i = 0; i < 5; i++) { + for (int j = 0; j < 5; j++) { + serC[i * 5 + j] = A[i * 5 + j] + B[i * 5 + j]; + } + } + + if (equals(parC, serC, 5)) { + cout << "Correct matrix add" << endl; + print(serC, 5); + } else { + cout << "Error in matrix add" << endl; + print(parC, 5); + print(serC, 5); + } + _getch(); + + // Parallel Matrix Sub + float* parD = new float[25]; + float* Dd; + cudaMalloc(&Dd, size); + + mat_sub<<>>(Ad, Bd, Dd, 5); + + cudaMemcpy(parD, Dd, size, cudaMemcpyDeviceToHost); + cudaFree(Dd); + + // Serial Matrix Sub + float* serD = new float[25]; + for (int i = 0; i < 5; i++) { + for (int j = 0; j < 5; j++) { + serD[i * 5 + j] = A[i * 5 + j] - B[i * 5 + j]; + } + } + + if (equals(parD, serD, 5)) { + cout << "Correct matrix sub" << endl; + print(serD, 5); + } else { + cout << "Error in matrix sub" << endl; + print(parD, 5); + print(serD, 5); + } + _getch(); + + // Parallel Matrix Mult + float* parE = new float[25]; + float* Ed; + cudaMalloc(&Ed, size); + + mat_mult<<>>(Ad, Bd, Ed, 5); + + cudaMemcpy(parE, Ed, size, cudaMemcpyDeviceToHost); + cudaFree(Ad); + cudaFree(Bd); + cudaFree(Ed); + + // Serial Matrix Mult + float* serE = new float[25]; + int sum = 0; + for (int i = 0; i < 5; i++) { + for (int j = 0; j < 5; j++) { + for (int k = 0; k < 5; k++) + sum += A[i * 5 + k] * B[k * 5 + j]; + serE[i * 5 + j] = sum; + sum = 0; + } + } + + if (equals(parE, serE, 5)) { + cout << "Correct matrix mult" << endl; + print(serE, 5); + } else { + cout << "Error in matrix mult" << endl; + print(parE, 5); + print(serE, 5); + } + _getch(); + + delete A; + delete B; + delete serC; + delete serD; + delete serE; + delete parC; + delete parD; + delete parE; + + cout << "\nDONE" << endl; + + return 0; +} \ No newline at end of file diff --git a/Part2/Part2/Part2/matrix_math.h b/Part2/Part2/Part2/matrix_math.h new file mode 100755 index 0000000..40c8c1e --- /dev/null +++ b/Part2/Part2/Part2/matrix_math.h @@ -0,0 +1,11 @@ +#ifndef MATRIX_MATH_H +#define MATRIX_MATH_H + +__global__ void mat_add(float*, float*, float*, int); +__global__ void mat_sub(float*, float*, float*, int); +__global__ void mat_mult(float*, float*, float*, int); + +void print(float* mat, int size); +bool equals(float* A, float* B, int size); + +#endif From 8245fe48592342e65960eb325297fcd95af1689c Mon Sep 17 00:00:00 2001 From: Joyce C Lee Date: Sun, 21 Sep 2014 19:09:35 -0400 Subject: [PATCH 4/8] Part 2 done --- Part2/Part2/Part2/matrix_math.cpp | 109 ------------------------------ Part2/Part2/Part2/matrix_math.h | 11 --- 2 files changed, 120 deletions(-) delete mode 100755 Part2/Part2/Part2/matrix_math.cpp delete mode 100755 Part2/Part2/Part2/matrix_math.h diff --git a/Part2/Part2/Part2/matrix_math.cpp b/Part2/Part2/Part2/matrix_math.cpp deleted file mode 100755 index c06d261..0000000 --- a/Part2/Part2/Part2/matrix_math.cpp +++ /dev/null @@ -1,109 +0,0 @@ -#include -#include -#include -#include -#include -#include "matrix_math.h" - -using namespace std; - -// Prints a square matrix with side length of size. -void print(float* mat, int size) -{ - for (int i = 0; i < size; i++) { - for (int j = 0; j < size; j++) - cout << mat[i*size + j] << " "; - cout << endl; - } -} - -bool equals(float* A, float* B, int size) -{ - for (int i = 0; i < 5; i++) { - for (int j = 0; j < 5; j++) { - if (A[i * 5 + j] != B[i * 5 + j]) - return false; - } - } - return true; -} - -int main(int argc, char** argv) -{ - float* A = new float[25]; - float* B = new float[25]; - dim3 dimBlock(5, 5); - dim3 dimGrid(1, 1); - - for (int i = 0; i < 5; i++) { - for (int j = 0; j < 5; j++) { - A[i * 5 + j] = i * 5 + j; - B[i * 5 + j] = i * 5 + j; - } - } - - // Parallel Matrix Add - float* parC = new float[25]; - //mat_add<<>>(A, B, parC, 5); - - // Serial Matrix Add - float* serC = new float[25]; - for (int i = 0; i < 5; i++) { - for (int j = 0; j < 5; j++) { - serC[i * 5 + j] = A[i * 5 + j] + B[i * 5 + j]; - } - } - - if (!equals(parC, serC, 5)) - cout << "Error in matrix add" << endl; - - // Parallel Matrix Sub - float* parD = new float[25]; - //mat_sub<<>>(A, B, parD, 5); - - // Serial Matrix Sub - float* serD = new float[25]; - for (int i = 0; i < 55; i++) { - for (int j = 0; j < 5; j++) { - serD[i * 5 + j] = A[i * 5 + j] - B[i * 5 + j]; - } - } - - if (!equals(parD, serD, 5)) - cout << "Error in matrix sub" << endl; - - // Parallel Matrix Mult - float* parE = new float[25]; - //mat_mult<<>>(A, B, parE, 5); - - // Serial Matrix Mult - float* serE = new float[25]; - int sum = 0; - for (int i = 0; i < 5; i++) { - for (int j = 0; j < 5; j++) { - for (int k = 0; k < 5; k++) - sum += A[i * 5 + k] * B[k * 5 + j]; - serE[i * 5 + j] = sum; - sum = 0; - } - } - - if (!equals(parE, serE, 5)) - cout << "Error in matrix mult" << endl; - - print(A, 5); - print(serC, 5); - print(serD, 5); - print(serE, 5); - - delete A; - delete B; - delete serC; - delete serD; - delete serE; - delete parC; - delete parD; - delete parE; - - return 0; -} diff --git a/Part2/Part2/Part2/matrix_math.h b/Part2/Part2/Part2/matrix_math.h deleted file mode 100755 index 40c8c1e..0000000 --- a/Part2/Part2/Part2/matrix_math.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef MATRIX_MATH_H -#define MATRIX_MATH_H - -__global__ void mat_add(float*, float*, float*, int); -__global__ void mat_sub(float*, float*, float*, int); -__global__ void mat_mult(float*, float*, float*, int); - -void print(float* mat, int size); -bool equals(float* A, float* B, int size); - -#endif From aa58211f70e5edd3dc938c33ff9f7ec3d5f3bc35 Mon Sep 17 00:00:00 2001 From: Joyce C Lee Date: Sun, 21 Sep 2014 19:11:17 -0400 Subject: [PATCH 5/8] remove matrix_math.h --- Part2/Part2/Part2/matrix_math.cu | 1 - 1 file changed, 1 deletion(-) diff --git a/Part2/Part2/Part2/matrix_math.cu b/Part2/Part2/Part2/matrix_math.cu index 47776cc..cc28bfe 100755 --- a/Part2/Part2/Part2/matrix_math.cu +++ b/Part2/Part2/Part2/matrix_math.cu @@ -1,6 +1,5 @@ #include "cuda_runtime.h" #include "device_launch_parameters.h" -#include "matrix_math.h" #include #include From 9e724b71f17fcb10aed90d6b4473c1ed3d9697d0 Mon Sep 17 00:00:00 2001 From: Joyce C Lee Date: Sun, 21 Sep 2014 19:42:49 -0400 Subject: [PATCH 6/8] added timers --- Part1/PROJ_WIN/CIS565_PROJ_1.suo | Bin 16896 -> 16896 bytes Part2/Part2/Part2/matrix_math.cu | 38 +++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/Part1/PROJ_WIN/CIS565_PROJ_1.suo b/Part1/PROJ_WIN/CIS565_PROJ_1.suo index 592cb636fdc573e625481190809ed022bf8471f3..2e9e76b0afb844f312dfc444a94796852a60ba38 100644 GIT binary patch delta 57 zcmV-90LK4-gaLqr0kCWY1;BKCgYmO*1djs{IU5W+rUA=KxtTt>^6J%plfelvvp@)4 PB>@1F;WresvMo*&m^~J) delta 57 zcmV-90LK4-gaLqr0kCWY1rX*5r{lA61djs{;ghIg4Hkt-qbfBU|LwD;lfelvvp@)4 PB>@zZ;WresvMo*&h{6^n diff --git a/Part2/Part2/Part2/matrix_math.cu b/Part2/Part2/Part2/matrix_math.cu index cc28bfe..3ed8a82 100755 --- a/Part2/Part2/Part2/matrix_math.cu +++ b/Part2/Part2/Part2/matrix_math.cu @@ -4,6 +4,8 @@ #include #include #include +#include +#include using namespace std; @@ -77,6 +79,15 @@ int main(int argc, char** argv) } } + LARGE_INTEGER begin, end; + LARGE_INTEGER frequency; + QueryPerformanceFrequency(&frequency); + + cudaEvent_t start, stop; + float time; + cudaEventCreate(&start); + cudaEventCreate(&stop); + // Parallel Matrix Add float* parC = new float[25]; float *Ad, *Bd, *Cd; @@ -87,18 +98,26 @@ int main(int argc, char** argv) cudaMemcpy(Bd, B, size, cudaMemcpyHostToDevice); cudaMalloc(&Cd, size); + cudaEventRecord(start, 0); mat_add<<>>(Ad, Bd, Cd, 5); + cudaEventRecord(stop, 0); + cudaEventSynchronize(stop); cudaMemcpy(parC, Cd, size, cudaMemcpyDeviceToHost); cudaFree(Cd); + cudaEventElapsedTime(&time, start, stop); + printf("Kernel: %f ms\t", time); // Serial Matrix Add + QueryPerformanceCounter(&begin); float* serC = new float[25]; for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { serC[i * 5 + j] = A[i * 5 + j] + B[i * 5 + j]; } } + QueryPerformanceCounter(&end); + printf("CPU: %f ms\n", (end.QuadPart - begin.QuadPart) * 1000.0 / frequency.QuadPart); if (equals(parC, serC, 5)) { cout << "Correct matrix add" << endl; @@ -115,18 +134,26 @@ int main(int argc, char** argv) float* Dd; cudaMalloc(&Dd, size); + cudaEventRecord(start, 0); mat_sub<<>>(Ad, Bd, Dd, 5); + cudaEventRecord(stop, 0); + cudaEventSynchronize(stop); cudaMemcpy(parD, Dd, size, cudaMemcpyDeviceToHost); cudaFree(Dd); + cudaEventElapsedTime(&time, start, stop); + printf("Kernel: %f ms\t", time); // Serial Matrix Sub + QueryPerformanceCounter(&begin);; float* serD = new float[25]; for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { serD[i * 5 + j] = A[i * 5 + j] - B[i * 5 + j]; } } + QueryPerformanceCounter(&end); + printf("CPU: %f ms\n", (end.QuadPart - begin.QuadPart) * 1000.0 / frequency.QuadPart); if (equals(parD, serD, 5)) { cout << "Correct matrix sub" << endl; @@ -143,7 +170,15 @@ int main(int argc, char** argv) float* Ed; cudaMalloc(&Ed, size); + cudaEventRecord(start, 0); mat_mult<<>>(Ad, Bd, Ed, 5); + cudaEventRecord(stop, 0); + cudaEventSynchronize(stop); + + cudaMemcpy(parE, Ed, size, cudaMemcpyDeviceToHost); + cudaFree(Ed); + cudaEventElapsedTime(&time, start, stop); + printf("Kernel: %f ms\t", time); cudaMemcpy(parE, Ed, size, cudaMemcpyDeviceToHost); cudaFree(Ad); @@ -151,6 +186,7 @@ int main(int argc, char** argv) cudaFree(Ed); // Serial Matrix Mult + QueryPerformanceCounter(&begin); float* serE = new float[25]; int sum = 0; for (int i = 0; i < 5; i++) { @@ -161,6 +197,8 @@ int main(int argc, char** argv) sum = 0; } } + QueryPerformanceCounter(&end); + printf("CPU: %f ms\n", (end.QuadPart - begin.QuadPart) * 1000.0 / frequency.QuadPart); if (equals(parE, serE, 5)) { cout << "Correct matrix mult" << endl; From b5621b5574a4ea1197a4e332d36f8ca6961a8c77 Mon Sep 17 00:00:00 2001 From: leejcw Date: Mon, 22 Sep 2014 00:04:10 -0400 Subject: [PATCH 7/8] Finished Part1 --- Part1/src/kernel.cu | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/Part1/src/kernel.cu b/Part1/src/kernel.cu index d66e7c1..d2b3953 100644 --- a/Part1/src/kernel.cu +++ b/Part1/src/kernel.cu @@ -90,26 +90,39 @@ __global__ void generateCircularVelArray(int time, int N, glm::vec3 * arr, glm:: __device__ glm::vec3 accelerate(int N, glm::vec4 my_pos, glm::vec4 * their_pos) { glm::vec3 force(0.0f); - for (int i = 0; i < N; i++) { - force += glm::vec3(their_pos[i] - my_pos) * - (float) (G * planetMass * planetMass / pow(glm::length(my_pos - their_pos[i]), 2)); + int i = blockIdx.x * blockDim.x + threadIdx.x; + float mag = 0; + + for (int idx = 0; idx < N; idx++) { + if (i != idx) { + mag = G * planetMass * planetMass / (pow(glm::length(their_pos[idx] - my_pos), 2) + EPSILON); + force += glm::normalize(glm::vec3(my_pos - their_pos[idx])) * mag; + } } - return force; + + mag = G * planetMass * starMass / (pow(glm::length(my_pos), 2) + EPSILON); + force += glm::normalize(-1.f * glm::vec3(my_pos)) * mag; + + return force / planetMass; } // TODO : update the acceleration of each body __global__ void updateF(int N, float dt, glm::vec4 * pos, glm::vec3 * vel, glm::vec3 * acc) { - for (int i = 0; i < N; i++) { - *acc = accelerate(N, pos[i], pos); - } + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < N) + acc[i] = accelerate(N, pos[i], 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) { - for (int i = 0; i < N; i++) { - *pos = glm::vec4(*pos + dt * glm::vec4(*vel, 0)); + int i = blockIdx.x * blockDim.x + threadIdx.x; + if (i < N) { + vel[i] += dt * acc[i]; + pos[i].x += dt * vel[i].x; + pos[i].y += dt * vel[i].y; + pos[i].z += dt * vel[i].z; } } @@ -188,7 +201,9 @@ 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 + dim3 blocks((int)ceil(float(numObjects)/float(blockSize))); + updateF<<>>(numObjects, dt, dev_pos, dev_vel, dev_acc); + updateS<<>>(numObjects, dt, dev_pos, dev_vel, dev_acc); } void cudaUpdateVBO(float * vbodptr, int width, int height) From ea890c390a53de9ad1a18f0f0b0c9d7dd9ae3165 Mon Sep 17 00:00:00 2001 From: leejcw Date: Mon, 22 Sep 2014 02:07:56 -0400 Subject: [PATCH 8/8] performance analysis added --- README.md | 133 +++++++----------------------------------------------- 1 file changed, 16 insertions(+), 117 deletions(-) diff --git a/README.md b/README.md index 70ae0d3..7437d48 100644 --- a/README.md +++ b/README.md @@ -1,120 +1,19 @@ Project 1 ========= -# Project 1 : Introduction to CUDA - -## NOTE : -This project (and all other projects in this course) requires a NVIDIA graphics -card with CUDA capabilityi! Any card with compute capability 2.0 and up will -work. This means any card from the GeForce 400 and 500 series and afterwards -will work. If you do not have a machine with these specs, feel free to use -computers in the SIG Lab. All computers in SIG lab and Moore 100 C have CUDA -capable cards and should already have the CUDA SDK installed. - -## PART 1 : INSTALL NSIGHT -To help with benchmarking and performance analysis, we will be using NVIDIA's -profiling and debugging tool named NSight. Download and install it from the -following link for whichever IDE you will be using: -http://www.nvidia.com/object/nsight.html. - -NOTE : If you are using Linux / Mac, most of the screenshots and class usage of -NSight will be in Visual Studio. You are free to use to the Eclipse version -NSight during these in class labs, but we will not be able to help you as much. - -## PART 2 : NBODY SIMULATION -To get you used to using CUDA kernels, we will be writing a simple 2D nbody -simulator. The following source files are included in the project: - -* main.cpp : sets up graphics stuff for visualization -* kernel.cu : this contains the CUDA kernel calls - -All the code that you will need to modify is in kernel.cu and is marked clearly -by TODOs. - -## PART 3 : MATRIX MATH -In this portion we will walk you through setting up a project that writes some -simple matrix math functions. Please put this portion in a folder marked Part2 -in your repository. - -### Step 1 : Create your project. -Using the instructions on the Google forum, please set up a new Visual Studio project that -compiles using CUDA. For uniformity, please write your main function and all -your code in a file named matrix_math.cu. - -### Step 2 : Setting up CUDA memory. -As we discussed in class, there is host memory and device memory. Host memory -is the memory that exists on the CPU, whereas device memory is memory on the -GPU. - -In order to create/reserve memory on the GPU, we need to explicitly do so -using cudaMalloc. By calling cudaMalloc, we are calling malloc on the GPU to -reserve a portion of its memory. Like malloc, cudaMalloc simply mallocs a -portion of memory and returns a pointer. This memory is only accessible on the -device unless we explicitly copy memory from the GPU to the CPU. The reverse is -also true. - -We can copy memory to and from the GPU using the function cudaMemcpy. Like the -POSIX C memcpy, you will need to specify the size of memory you are copying. -The last argument is used to specify the direction of the copy (from GPU to CPU -or the other way around). - -Please initialize 2 5 x 5 matrices represented as an array of floats on the CPU -and the GPU where each of the entry is equal to its position (i.e. A_00 = 0, -A_01 = 1, A_44 = 24). - -### Step 3 : Creating CUDA kernels. -In the previous part, we explicitly divided the CUDA kernels from the rest of -the file for stylistic purposes. Since there will be far less code in this -project, we will write the global and device functions in the same file as the -main function. - -Given a matrix A and matrix B (both represented as arrays of floats), please -write the following functions : -* mat_add : A + B -* mat_sub : A - B -* mat_mult : A * B - -You may assume for all matrices that the dimensions of A and B are the same and -that they are square. - -Use the 2 5 x 5 matrices to test your code either by printing directly to the -console or writing an assert. - -THINGS TO REMEMBER : -* global and device functions only have access to memory that is explicitly on - the device, meaning you MUST copy memory from the CPU to the GPU if you would - like to use it there -* The triple triangle braces "<<<" begin and end the global function call. This - provides parameters with which CUDA uses to set up tile size, block size and - threads for each warp. -* Do not fret if Intellisense does not understand CUDA keywords (if they have - red squiggly lines underneath CUDA keywords). There is a way to integrate - CUDA syntax highlighting into Visual Studio, but it is not the default. - -### Step 4 : Write a serial version. -For comparison, write a single-threaded CPU version of mat_add, mat_sub and -mat_mult. We will not introduce timing elements in this project, but please -keep them in mind as the upcoming lab will introduce more on this topic. - -## PART 4 : PERFORMANCE ANALYSIS -Since this is the first project, we will guide you with some example -questions. In future projects, please answer at least these questions, as -they go through basic performance analysis. Please go above and beyond the -questions we suggest and explore how different aspects of your code impact -performance as a whole. - -We have provided a frame counter as a metric, but feel free to add cudaTimers, -etc. to do more fine-grained benchmarking of various aspects. - -NOTE : Performance should be measured in comparison to a baseline. Be sure to -describe the changes you make between experiments and how you are benchmarking. - -* How does changing the tile and block sizes change performance? Why? -* How does changing the number of planets change performance? Why? -* Without running experiments, how would you expect the serial and GPU verions - of matrix_math to compare? Why? - -## SUBMISSION -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 + +## Changing the tile and block sizes +Changing the block sizes in Part 1 did not affect the FPS rate at all; for the range of nbody counts that I tested, they were identical whether the size of blocks and tiles were increased or decreased. This is likely due to the lack of conditional statements so that all but one of the blocks is being fully utilized, regardless of their size. + +## Changing the number of planets +Increasing the number of planets up to about 6000 nbodies did not decrease the FPS, but after that the FPS dropped off. +* 0 - 6000 nbodies -> 60 FPS +* 7000 -> 25 FPS +* 8000 -> 15 FPS +* 9000 -> 14 FPS +* 10000 -> 12 FPS +
This is because the number of cycles needed to process all the threads was greater than the latency that the number of warps could hide. + +## Serial vs GPU verions of matrix_math +Because the size of the matrices was so small, operations on the GPU would be slower than on the CPU because of the latency associated with copying the data into device memory. The gain from parallel processing would be lost to that, so serial would actually be faster. (Timers in the matrix_math file did confirm this; CPU times were about 2 to 2.5 times faster than GPU times.)