From 55cec145d72baf58639aad7773e23e28c9ca8676 Mon Sep 17 00:00:00 2001 From: Anthony LaTorre Date: Sat, 10 Sep 2011 20:40:05 -0400 Subject: store geometry struct in shared memory. this increases photon propagation speed from 3.3M -> 3.45!. --- src/mesh.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/mesh.h') diff --git a/src/mesh.h b/src/mesh.h index 734ab92..73dff71 100644 --- a/src/mesh.h +++ b/src/mesh.h @@ -122,11 +122,20 @@ __global__ void distance_to_mesh(int nthreads, float3 *_origin, float3 *_direction, Geometry *g, float *_distance) { + __shared__ Geometry sg; + + if (threadIdx.x == 0) + sg = *g; + + __syncthreads(); + int id = blockIdx.x*blockDim.x + threadIdx.x; if (id >= nthreads) return; + g = &sg; + float3 origin = _origin[id]; float3 direction = _direction[id]; direction /= norm(direction); -- cgit