Age | Commit message (Collapse) | Author |
|
|
|
|
|
to make it 100x faster. Instead of having each CUDA thread loop over
the full triangle list, we give each thread a single triangle and ask
it to look up the hit status and color for that triangle. The hit
array and color array are small enough (approx 30,000 entries) to fit
into the cache, so this goes much faster.
Now the event viewer is quite snappy!
|
|
is further than a triangle the ray/photon has already intersected
|
|
rings from inside the detector.
|
|
hierarchy. cached files are stored in $HOME/.chroma. fixed the timeit() decorator so that the decorated function is still able to pass back a return value.
|
|
|
|
and length; this reduces a bit of arithmetic when traversing the bounding volume hierarchy and makes the code in Geometry.build() more concise. add an untested cuda kernel to interleave the bits in three uint64 arrays.
|
|
pygame loop.
|
|
matplotlib.cm.
|
|
<detector_name> -i <name_of_io_file>.
|
|
locally-attached Space Navigator 3D mouse. Assumes you have the open
source spacenavd and libspnav installed. (Both included in Ubuntu now.)
|
|
|
|
geometry requires global device pointers, there should be a one to one correspondence between modules and contexts. the current plan is to perform all gpu operations within this class. also add a simple color map to display hit pmt charge and timing information.
|
|
|
|
|
|
pressing the m key.
|
|
now thrown randomly across each triangle instead of only at the center of each triangle. all of the rendering kernels have been rewritten so that they operate additively; for example, you may now throw photons from the light source onto the scene, render from the camera to the scene, then throw more photons and render again.
|
|
|
|
|
|
the hybrid monte carlo ray tracer in a separate thread. the camera object is initialized by passing a pycuda.driver.Context object and a threading.Lock object; you can then run kernels and copy arrays to and from the device in the same context as that used by the camera by acquiring the lock, calling context.push(), executing the kernel and/or copying arrays, calling context.pop(), and then releasing the lock. fixed mistakes in both build_rgb_lookup() and render() where I had accidently switched the green and blue photons. updated the lbne geometry with the latest specifications. added profiles for the sno pmt and concentrator.
|
|
|
|
|
|
class; each triangle will have a material linked to both of its sides
|