diff options
Diffstat (limited to 'gputhread.py')
-rw-r--r-- | gputhread.py | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gputhread.py b/gputhread.py index f9e6dae..63124e9 100644 --- a/gputhread.py +++ b/gputhread.py @@ -71,18 +71,17 @@ class GPUThread(threading.Thread): polarizations_gpu = gpuarray.empty(nphotons, dtype=gpuarray.vec.float3) fill_uniform_sphere(np.int32(nphotons), rng_states_gpu, polarizations_gpu, **gpu_kwargs) times_gpu = gpuarray.zeros(nphotons, dtype=np.float32) - states_gpu = gpuarray.empty(nphotons, dtype=np.int32) - states_gpu.fill(-1) + histories_gpu = gpuarray.zeros(nphotons, dtype=np.uint32) last_hit_triangles_gpu = gpuarray.empty(nphotons, dtype=np.int32) last_hit_triangles_gpu.fill(-1) max_steps = 10 - propagate(np.int32(nphotons), rng_states_gpu, positions_gpu, directions_gpu, wavelengths_gpu, polarizations_gpu, times_gpu, states_gpu, last_hit_triangles_gpu, np.int32(self.geometry.node_map.size-1), np.int32(self.geometry.first_node), np.int32(max_steps), **gpu_kwargs) + propagate(np.int32(nphotons), rng_states_gpu, positions_gpu, directions_gpu, wavelengths_gpu, polarizations_gpu, times_gpu, histories_gpu, last_hit_triangles_gpu, np.int32(max_steps), **gpu_kwargs) reset_earliest_time_int(np.float32(1e9), np.int32(len(earliest_time_int_gpu)), earliest_time_int_gpu, block=(self.nblocks,1,1), grid=(len(earliest_time_int_gpu)//self.nblocks+1,1)) - run_daq(rng_states_gpu, np.int32(2), np.float32(1.2e-9), np.int32(nphotons), times_gpu, states_gpu, last_hit_triangles_gpu, solid_map_gpu, np.int32(len(earliest_time_int_gpu)), earliest_time_int_gpu, block=(self.nblocks,1,1), grid=(nphotons//self.nblocks+1,1)) + run_daq(rng_states_gpu, np.uint32(0x1 << 2), np.float32(1.2e-9), np.int32(nphotons), times_gpu, histories_gpu, last_hit_triangles_gpu, solid_map_gpu, np.int32(len(earliest_time_int_gpu)), earliest_time_int_gpu, block=(self.nblocks,1,1), grid=(nphotons//self.nblocks+1,1)) convert_sortable_int_to_float(np.int32(len(earliest_time_int_gpu)), earliest_time_int_gpu, earliest_time_gpu, block=(self.nblocks,1,1), grid=(len(earliest_time_int_gpu)//self.nblocks+1,1)) cuda.Context.synchronize() |