diff --git a/Part1/PROJ_WIN/CIS565_PROJ_1.suo b/Part1/PROJ_WIN/CIS565_PROJ_1.suo
index ad46c84..28009c7 100644
Binary files a/Part1/PROJ_WIN/CIS565_PROJ_1.suo and b/Part1/PROJ_WIN/CIS565_PROJ_1.suo differ
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..6b18a53 100644
--- a/Part1/PROJ_WIN/CIS565_PROJ_1/CIS565_PROJ_1.vcxproj
+++ b/Part1/PROJ_WIN/CIS565_PROJ_1/CIS565_PROJ_1.vcxproj
@@ -30,7 +30,7 @@
-
+
@@ -114,6 +114,6 @@
-
+
\ No newline at end of file
diff --git a/Part1/PROJ_WIN/CIS565_PROJ_1/vc100.pdb b/Part1/PROJ_WIN/CIS565_PROJ_1/vc100.pdb
index b662f85..ab8a845 100644
Binary files a/Part1/PROJ_WIN/CIS565_PROJ_1/vc100.pdb and b/Part1/PROJ_WIN/CIS565_PROJ_1/vc100.pdb differ
diff --git a/Part1/PROJ_WIN/src/kernel.cu.deps b/Part1/PROJ_WIN/src/kernel.cu.deps
index 926dd55..9c1ecdd 100644
--- a/Part1/PROJ_WIN/src/kernel.cu.deps
+++ b/Part1/PROJ_WIN/src/kernel.cu.deps
@@ -1,87 +1,87 @@
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\cuda_runtime.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_config.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\cuda_runtime.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_config.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\sal.h
c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vadefs.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\limits.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stddef.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\channel_descriptor.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\cuda_runtime_api.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\cuda_device_runtime_api.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\cuda_runtime_api.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\common_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\channel_descriptor.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\cuda_runtime_api.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\cuda_device_runtime_api.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\cuda_runtime_api.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\common_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\time.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\wtime.inl
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\time.inl
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\math_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\math_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\math.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdlib.h
@@ -92,159 +92,159 @@ c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\use_ansi.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\math.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdlib
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\cuda_surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\channel_descriptor.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\cuda_texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\channel_descriptor.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_11_atomic_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_12_atomic_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_13_double_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_20_atomic_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_32_atomic_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_35_atomic_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_32_atomic_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_20_intrinsics.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_30_intrinsics.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_32_intrinsics.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_35_intrinsics.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_32_intrinsics.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\cuda_surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_fetch_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\cuda_texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_indirect_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_indirect_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\builtin_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\driver_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\surface_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\texture_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\host_defines.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_functions.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_launch_parameters.h
-c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\cuda_surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\channel_descriptor.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\cuda_texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\channel_descriptor.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_11_atomic_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_12_atomic_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_13_double_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_20_atomic_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_32_atomic_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_35_atomic_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_32_atomic_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_20_intrinsics.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_30_intrinsics.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_32_intrinsics.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_35_intrinsics.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\sm_32_intrinsics.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\cuda_surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_fetch_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\cuda_texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_indirect_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_indirect_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\builtin_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\driver_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\surface_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\texture_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\host_defines.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_functions.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\device_launch_parameters.h
+c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\vector_types.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\swprintf.inl
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\cuda.h
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm/glm.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core/_fixes.hpp
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\cuda.h
+c:\users\eric\documents\github\project-1\part1\src\glm/glm.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core/_fixes.hpp
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\climits
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cfloat
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\float.h
@@ -259,107 +259,107 @@ c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xstddef
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstddef
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core/setup.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/_detail.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\setup.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core/setup.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\./core/_detail.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\setup.hpp
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cassert
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\assert.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/_vectorize.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/type.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_half.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_half.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\_detail.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_float.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_half.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\setup.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_int.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\setup.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\_detail.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_gentype.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_size.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec1.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_gentype.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_float.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_int.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_size.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\_swizzle.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\_swizzle_func.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec1.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec2.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_float.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_int.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_size.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\_swizzle.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec2.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec3.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_float.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_int.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_size.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\_swizzle.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec3.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec4.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_float.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_int.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_size.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\_swizzle.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_vec4.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat2x2.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_gentype.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat2x2.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat2x3.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat2x3.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat2x4.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat2x4.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat3x2.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat3x2.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat3x3.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat3x3.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat3x4.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat3x4.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat4x2.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat4x2.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat4x3.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat4x3.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat4x4.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\type_mat4x4.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/func_trigonometric.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\func_trigonometric.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/func_exponential.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\func_exponential.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/func_common.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\_fixes.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\func_common.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/func_packing.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\func_packing.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/func_geometric.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\func_geometric.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/func_matrix.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\func_matrix.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/func_vector_relational.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\_detail.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\func_vector_relational.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/func_integer.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\func_integer.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/func_noise.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core\func_noise.inl
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\./core/_swizzle.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\utilities.h
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm/glm.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core/_fixes.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\./core/_vectorize.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\./core/type.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_half.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_half.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\core\_detail.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_float.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_half.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\setup.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_int.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\setup.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\_detail.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_gentype.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_size.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_vec1.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_vec.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_gentype.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_float.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_int.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_size.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\_swizzle.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\_swizzle_func.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_vec1.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_vec2.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_vec.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_float.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_int.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_size.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\_swizzle.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_vec2.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_vec3.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_vec.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_float.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_int.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_size.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\_swizzle.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_vec3.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_vec4.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_vec.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_float.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_int.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_size.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\_swizzle.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_vec4.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat2x2.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_gentype.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat2x2.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat2x3.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat2x3.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat2x4.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat2x4.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat3x2.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat3x2.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat3x3.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat3x3.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat3x4.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat3x4.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat4x2.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat4x2.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat4x3.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat4x3.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat4x4.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\type_mat4x4.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\./core/func_trigonometric.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\func_trigonometric.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\./core/func_exponential.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\func_exponential.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\./core/func_common.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\_fixes.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\func_common.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\./core/func_packing.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\func_packing.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\./core/func_geometric.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\func_geometric.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\./core/func_matrix.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\func_matrix.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\./core/func_vector_relational.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\_detail.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\func_vector_relational.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\./core/func_integer.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\func_integer.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\./core/func_noise.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core\func_noise.inl
+c:\users\eric\documents\github\project-1\part1\src\glm\./core/_swizzle.hpp
+c:\users\eric\documents\github\project-1\part1\src\utilities.h
+c:\users\eric\documents\github\project-1\part1\src\glm/glm.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core/_fixes.hpp
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\algorithm
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\memory
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xmemory
@@ -514,55 +514,56 @@ c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\sstream
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vector
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfunctional
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\cudaMat4.h
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm/glm.hpp
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\glm\core/_fixes.hpp
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\cuda_runtime.h
-c:\users\harmoli\documents\cis565\project3-simulation\part1\src\kernel.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/config.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/simple_defines.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/compiler.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\cuda.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/host_system.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/device_system.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/host_device.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\host_defines.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/debug.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/compiler_fence.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/forceinline.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/config/hd_warning_disable.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/cstdint.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/discard_block_engine.h
+c:\users\eric\documents\github\project-1\part1\src\cudaMat4.h
+c:\users\eric\documents\github\project-1\part1\src\glm/glm.hpp
+c:\users\eric\documents\github\project-1\part1\src\glm\core/_fixes.hpp
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\cuda_runtime.h
+c:\users\eric\documents\github\project-1\part1\src\kernel.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/config.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/simple_defines.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/compiler.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\cuda.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/host_system.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/device_system.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/host_device.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\host_defines.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/debug.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/compiler_fence.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/forceinline.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/hd_warning_disable.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/config/global_workarounds.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/cstdint.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/discard_block_engine.h
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\iostream
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/random_core_access.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/discard_block_engine.inl
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/linear_congruential_engine.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/linear_congruential_engine_discard.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/mod.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/linear_congruential_engine.inl
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/linear_feedback_shift_engine.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/linear_feedback_shift_engine_wordmask.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/linear_feedback_shift_engine.inl
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/subtract_with_carry_engine.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/subtract_with_carry_engine.inl
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/xor_combine_engine.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/type_traits.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/type_traits/has_trivial_assign.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/xor_combine_engine_max.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/mpl/math.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/xor_combine_engine.inl
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/uniform_int_distribution.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/pair.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/pair.inl
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/swap.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/detail/integer_traits.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/uniform_int_distribution.inl
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/uniform_real_distribution.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/uniform_real_distribution.inl
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/normal_distribution.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/normal_distribution_base.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\thrust/random/detail/normal_distribution.inl
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\math_constants.h
-C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include\cuda.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/random_core_access.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/discard_block_engine.inl
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/linear_congruential_engine.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/linear_congruential_engine_discard.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/mod.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/linear_congruential_engine.inl
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/linear_feedback_shift_engine.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/linear_feedback_shift_engine_wordmask.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/linear_feedback_shift_engine.inl
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/subtract_with_carry_engine.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/subtract_with_carry_engine.inl
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/xor_combine_engine.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/type_traits.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/type_traits/has_trivial_assign.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/xor_combine_engine_max.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/mpl/math.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/xor_combine_engine.inl
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/uniform_int_distribution.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/pair.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/pair.inl
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/swap.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/detail/integer_traits.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/uniform_int_distribution.inl
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/uniform_real_distribution.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/uniform_real_distribution.inl
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/normal_distribution.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/normal_distribution_base.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\thrust/random/detail/normal_distribution.inl
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\math_constants.h
+C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include\cuda.h
diff --git a/Part1/src/kernel.cu b/Part1/src/kernel.cu
index ee9b9e5..b30b129 100644
--- a/Part1/src/kernel.cu
+++ b/Part1/src/kernel.cu
@@ -83,25 +83,73 @@ __global__ void generateCircularVelArray(int time, int N, glm::vec3 * arr, glm::
}
}
-// TODO: Core force calc kernel global memory
+// Core force calc kernel global memory
// HINT : You may want to write a helper function that will help you
// calculate the acceleration contribution of a single body.
// REMEMBER : F = (G * m_a * m_b) / (r_ab ^ 2)
+
+__device__ glm::vec3 singleBodyAcceleration(glm::vec4 currentBodyPos, glm::vec4 otherBodyPos){
+
+ glm::vec3 forceVector(0,0,0);
+
+ // distance between other body and this body
+ glm::vec3 distance = glm::vec3(otherBodyPos.x, otherBodyPos.y, otherBodyPos.z)
+ - glm::vec3(currentBodyPos.x, currentBodyPos.y, currentBodyPos.z);
+
+ // get magnitude of distance vector
+ float r_ab = glm::length(distance);
+
+ // make sure distance is not 0
+ if (r_ab > 00000.1f) {
+ // F = (G * m_a * m_b) / (r_ab ^ 2)
+ float force = G * otherBodyPos.w / (r_ab * r_ab);
+ glm::vec3 direction = distance / r_ab;
+
+ // force * direction vector
+ forceVector = force * direction;
+ }
+
+ return forceVector;
+}
+
__device__ glm::vec3 accelerate(int N, glm::vec4 my_pos, glm::vec4 * their_pos)
{
- return glm::vec3(0.0f);
+ // calculate first with respect to the star
+ glm::vec4 starPos = glm::vec4(0, 0, 0, starMass);
+ glm::vec3 collectiveForce = singleBodyAcceleration(my_pos, starPos);
+
+ // sum up forces from other planets
+ for (int i = 0; i < N; i++) {
+ collectiveForce += singleBodyAcceleration(my_pos, their_pos[i]);
+ }
+
+ return collectiveForce;
}
-// TODO : update the acceleration of each body
+// 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
+ int i = blockIdx.x * blockDim.x + threadIdx.x;
+
+ // only use threads up to N
+ if (i < N) {
+ acc[i] = accelerate(N, pos[i], pos);
+ }
}
-// TODO : update velocity and position using a simple Euler integration scheme
+// 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
+ 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;
+ }
}
// Update the vertex buffer object
@@ -176,10 +224,14 @@ void initCuda(int N)
cudaThreadSynchronize();
}
-// TODO : Using the functions you wrote above, write a function that calls the CUDA kernels to update a single sim step
+// 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 fullBlocksPerGrid((int)ceil(float(numObjects)/float(blockSize)));
+ updateF<<>>(numObjects, dt, dev_pos, dev_vel, dev_acc);
+ updateS<<>>(numObjects, dt, dev_pos, dev_vel, dev_acc);
+
+ cudaThreadSynchronize();
}
void cudaUpdateVBO(float * vbodptr, int width, int height)
@@ -192,7 +244,7 @@ void cudaUpdateVBO(float * vbodptr, int width, int height)
void cudaUpdatePBO(float4 * pbodptr, int width, int height)
{
dim3 fullBlocksPerGrid((int)ceil(float(width*height)/float(blockSize)));
- sendToPBO<<>>(numObjects, dev_pos, pbodptr, width, height, scene_scale);
+ //sendToPBO<<>>(numObjects, dev_pos, pbodptr, width, height, scene_scale);
cudaThreadSynchronize();
}
diff --git a/Part1/src/main.cpp b/Part1/src/main.cpp
index ea86207..c26fce0 100644
--- a/Part1/src/main.cpp
+++ b/Part1/src/main.cpp
@@ -5,6 +5,7 @@
#include "main.h"
#define N_FOR_VIS 5000
+//#define N_FOR_VIS 20000
#define DT 0.2
#define VISUALIZE 1
//-------------------------------
diff --git a/Part2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2.sln b/Part2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2.sln
new file mode 100644
index 0000000..e1b3018
--- /dev/null
+++ b/Part2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2.sln
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CIS565_PROJ_1_PART_2", "CIS565_PROJ_1_PART_2\CIS565_PROJ_1_PART_2.vcxproj", "{6FDBA8F4-D5DC-4C72-AC1F-79386F052505}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {6FDBA8F4-D5DC-4C72-AC1F-79386F052505}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6FDBA8F4-D5DC-4C72-AC1F-79386F052505}.Debug|Win32.Build.0 = Debug|Win32
+ {6FDBA8F4-D5DC-4C72-AC1F-79386F052505}.Release|Win32.ActiveCfg = Release|Win32
+ {6FDBA8F4-D5DC-4C72-AC1F-79386F052505}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Part2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2.vcxproj b/Part2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2.vcxproj
new file mode 100644
index 0000000..0cab6bb
--- /dev/null
+++ b/Part2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2.vcxproj
@@ -0,0 +1,72 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {6FDBA8F4-D5DC-4C72-AC1F-79386F052505}
+ CIS565_PROJ_1_PART_2
+
+
+
+ Application
+ true
+ MultiByte
+
+
+ Application
+ false
+ true
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ Disabled
+
+
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+
+
+ true
+ true
+ true
+ cudart.lib;%(AdditionalDependencies)
+ $(CUDA_LIB_PATH);../../common/lib;%(AdditionalLibraryDirectories)
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Part2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2.vcxproj.filters b/Part2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2.vcxproj.filters
new file mode 100644
index 0000000..f07abd3
--- /dev/null
+++ b/Part2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2.vcxproj.filters
@@ -0,0 +1,22 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Source Files
+
+
+
\ No newline at end of file
diff --git a/Part2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2/matrix_math.cu b/Part2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2/matrix_math.cu
new file mode 100644
index 0000000..8068886
--- /dev/null
+++ b/Part2/CIS565_PROJ_1_PART_2/CIS565_PROJ_1_PART_2/matrix_math.cu
@@ -0,0 +1,190 @@
+#include
+#include
+#include
+#include
+
+// Eric Lee
+// CIS 565 Project 1
+
+using namespace std;
+
+// Matrices
+const int dim = 5;
+int memSize = dim * dim * sizeof(float);
+float* matrixA;
+float* matrixB;
+
+float* matrixAGPU;
+float* matrixBGPU;
+
+float* resultMatrix;
+float* resultGPU;
+
+// CUDA
+dim3 dimGrid(1, 1);
+dim3 dimBlock(dim, dim);
+
+void initMatrices()
+{
+ // CPU
+ matrixA = new float[dim * dim];
+ matrixB = new float[dim * dim];
+
+ for (int i = 0; i < 25; i++) {
+ matrixA[i] = i;
+ matrixB[i] = i;
+ }
+
+ resultMatrix = new float[dim * dim];
+
+ // GPU
+ // explicitly reserve memory
+ cudaMalloc((void**)&matrixAGPU, memSize);
+ cudaMemcpy(matrixAGPU, matrixA, memSize, cudaMemcpyHostToDevice);
+
+ cudaMalloc((void**)&matrixBGPU, memSize);
+ cudaMemcpy(matrixBGPU, matrixB, memSize, cudaMemcpyHostToDevice);
+
+ cudaMalloc((void**)&resultGPU, memSize);
+ cudaMemcpy(resultGPU, resultMatrix, memSize, cudaMemcpyHostToDevice);
+}
+
+void freeMatrices()
+{
+ delete[] matrixA;
+ delete[] matrixB;
+ delete[] resultMatrix;
+
+ cudaFree(matrixAGPU);
+ cudaFree(matrixBGPU);
+ cudaFree(resultGPU);
+}
+
+// GPU kernel versions
+__global__ void mat_add(float* M, float* N, float* result)
+{
+ int tx = threadIdx.x;
+ int ty = threadIdx.y;
+
+ float newValue = M[ty * dim + tx] + N[ty * dim + tx];
+
+ result[ty * dim + tx] = newValue;
+}
+
+__global__ void mat_sub(float* M, float* N, float* result)
+{
+ int tx = threadIdx.x;
+ int ty = threadIdx.y;
+
+ float newValue = M[ty * dim + tx] - N[ty * dim + tx];
+
+ result[ty * dim + tx] = newValue;
+}
+
+__global__ void mat_mult(float* M, float* N, float* result)
+{
+ int tx = threadIdx.x;
+ int ty = threadIdx.y;
+
+ float newValue = 0;
+
+ for (int i = 0; i < dim; i++) {
+ float Melement = M[ty * dim + i];
+ float Nelement = N[i * dim + tx];
+ newValue += Melement * Nelement;
+ }
+
+ result[ty * dim + tx] = newValue;
+}
+
+// CPU serial versions
+void mat_add_serial(float* M, float* N, float* result)
+{
+ for (int i = 0; i < dim; i++) {
+ for (int j = 0; j < dim; j++) {
+ result[i * dim + j] = M[i * dim + j] + N[i * dim + j];
+ }
+ }
+}
+
+void mat_sub_serial(float* M, float* N, float* result)
+{
+ for (int i = 0; i < dim; i++) {
+ for (int j = 0; j < dim; j++) {
+ result[i * dim + j] = M[i * dim + j] - N[i * dim + j];
+ }
+ }
+}
+
+void mat_mult_serial(float* M, float* N, float* result)
+{
+ for (int i = 0; i < dim; i++) {
+ for (int j = 0; j < dim; j++) {
+ float sum = 0;
+
+ for (int k = 0; k < dim; k++) {
+ float a = M[i * dim + k];
+ float b = N[k * dim + j];
+ sum += a * b;
+ }
+ result[i * dim + j] = sum;
+ }
+ }
+}
+
+void matrixToString(float* matrix, char* string)
+{
+ int index = 0;
+
+ cout << string << endl;
+
+ for (int i = 0; i < dim; i++) {
+ for (int j = 0; j < dim; j++) {
+ cout << matrix[index] << " ";
+ index++;
+ }
+ cout << endl;
+ }
+ cout << "----------------" << endl;
+ cout << endl;
+}
+
+int main()
+{
+ // initialize 2 5x5 matrices on GPU
+ initMatrices();
+
+ matrixToString(matrixA, "Matrix A Initial");
+ matrixToString(matrixB, "Matrix B Initial");
+
+ // TESTING
+ // Kernel
+ mat_add<<>>(matrixAGPU, matrixBGPU, resultGPU);
+ cudaMemcpy(resultMatrix, resultGPU, memSize, cudaMemcpyDeviceToHost);
+ matrixToString(resultMatrix, "Kernel Add");
+
+ mat_sub<<>>(matrixAGPU, matrixBGPU, resultGPU);
+ cudaMemcpy(resultMatrix, resultGPU, memSize, cudaMemcpyDeviceToHost);
+ matrixToString(resultMatrix, "Kernel Sub");
+
+ mat_mult<<>>(matrixAGPU, matrixBGPU, resultGPU);
+ cudaMemcpy(resultMatrix, resultGPU, memSize, cudaMemcpyDeviceToHost);
+ matrixToString(resultMatrix, "Kernel Mult");
+
+ // Serial
+ mat_add_serial(matrixA, matrixB, resultMatrix);
+ matrixToString(resultMatrix, "Serial Add");
+
+ mat_sub_serial(matrixA, matrixB, resultMatrix);
+ matrixToString(resultMatrix, "Serial Sub");
+
+ mat_mult_serial(matrixA, matrixB, resultMatrix);
+ matrixToString(resultMatrix, "Serial Mult");
+
+ // prevent window from auto closing
+ getchar();
+
+ freeMatrices();
+
+ return 0;
+}
\ No newline at end of file
diff --git a/README.md b/README.md
index 70ae0d3..0b4364f 100644
--- a/README.md
+++ b/README.md
@@ -3,118 +3,30 @@ 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.
+Eric Lee
-## 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.
+## Performance Analysis
-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.
+* How does changing the tile and block sizes change performance? Why?
+Increasing tile and block size should increase performance up to a point. It did not
+affect this simulation too much.
-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.
+* How does changing the number of planets change performance? Why?
+5 planets - 60 FPS
+200 planets - 60 FPS
+2500 planets - 60 FPS
+4000 planets - 40 FPS
+5000 planets - 30 FPS
+10000 planets - 10 FPS
+20000 planets - 3 FPS
-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.
+The more planets there are, the bigger performance hit the simulation takes. Inverse
+relation between number of planets and performance. There are parts of the code (accelerate) that are not taking full advantage of the GPU.
-* 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.
+Because we are dealing with such small matrices in this project, the performance
+difference is extremely negligible. However, as the matrices scale larger and larger,
+we should should a significant increase in performance for the GPU version of
+matrix_math because each element in the resulting matrix can be calculated in
+parallel.