summaryrefslogtreecommitdiff
path: root/chroma/gpu/tools.py
AgeCommit message (Collapse)Author
2021-05-09wrap cuda.memcpy_htod args in np.asarraymastbaum
Fixes "TypeError: 'numpy.int64' does not have the buffer interface" error.
2021-05-09Do not automatically initialize pycuda before forking the camera process.Stan Seibert
This causes weird segfaults on Macs, and is probably a source of random crashing on other processes. Also call pygame.init() explicitly in the new process for good measure.
2021-05-09Put triangles and vertices back onto the GPU if there is sufficient room.Stan Seibert
This is an optimization that is helpful for smaller detectors, even if giant water Cherenkov detectors cannot take advantage of it. Modified Mapped() helper function to pass through GPU arrays, which makes it much easier to flip between arrays on the CPU and the GPU.
2021-05-09Import memoize decorator directly from pytools as it is not present in the ↵Stan Seibert
old location in newer pycuda releases.
2021-05-09Simple BVH generator using new infrastructureStan Seibert
2021-05-09Improve identification of CUDA vector types in struct builderStan Seibert
2021-05-09Allow make_gpu_struct to pack structs containing the CUDA vector types.Stan Seibert
2011-10-05Epic port of Chroma from units of meters/seconds/MeV toStan Seibert
millimeters/nanoseconds/MeV in order to match GEANT4, and also avoid huge discrepancies in magnitude caused by values like 10e-9 sec. Along the way, cleaned up a few things: * Switch the PI and SPEED_OF_LIGHT constants from double to single precision. This avoid some unnecessary double precision calculations in the GPU code. * Fixed a silly problem in the definition of the spherical spiral. Now the demo detector looks totally awesome. Also wrapped it in a black surface. Demo detector now has 10055 PMTs. * Updated the test_ray_intersection data file to reflect the new units. * Fix a missing import in chroma.gpu.tools
2011-09-17Split up chroma.gpu into separate modules. chroma.gpu.__init__ imports ↵Stan Seibert
everything from the sub modules, so usage is the same.