Age | Commit message (Collapse) | Author | |
---|---|---|---|
2011-08-25 | A new PDF evaluation method that does not require storage proportional | Stan Seibert | |
to [number of bins] * [number of PMTs]. Instead we accumulate information as the Monte Carlo runs in order to evaluate the PDFs only at the points required for the likelihood calculation. This new interface has been propagated all the way up from the GPU class through the Simulation class to the Likelihood class. We have preserved the full binned histogram implementation in case we need it in the future. | |||
2011-08-22 | Enable creation of charge and time PDF on GPU | Stan Seibert | |
2011-08-20 | remove old commented code | Anthony LaTorre | |
2011-08-19 | merge | Anthony LaTorre | |
2011-08-19 | add benchmarks for ray intersection and photon propagation | Anthony LaTorre | |
2011-08-18 | Could have run off the end of the array by 1 because the queue counter ↵ | Stan Seibert | |
points to the next available photon slot. | |||
2011-08-17 | import chroma modules from subpackages with import chroma.module_name | Anthony LaTorre | |
2011-08-16 | Epic restructuring of code to switch to a generator-based style of | Stan Seibert | |
event creation. Now we have vertex generators (that produce initial particles), photon generators (that create photons to propagate), and a standard data structure using Python class containers and numpy arrays to hand around the code. Also cleaned up some naming of things before they become conventions. | |||
2011-08-14 | Rewrite the color_solid function in gpu.GPU (and associated CUDA code) | Stan Seibert | |
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! | |||
2011-08-13 | A faulty optical process can make the position or direction of the | Stan Seibert | |
photon into NaN on the GPU. Now we abort these photons rather than let them lock up the intersect_mesh() method. There is a new history bit (#31) that indicates when a NAN_ABORT has occurred, and this bit is checked for by GPU.propagate(). If set for any of the photons, a warning message is printed. While not as good as preventing the NaN problem in the first place, this at least ensures we are aware of the problem. | |||
2011-08-12 | Use an input and output photon queue in order to consolidate all the | Stan Seibert | |
photons that didn't die during propagation into the beginning of the list. This speeds up propagation by reducing the number of partially filled CUDA warps on the next propagation step. 2.2 million photons/sec on LBNE! | |||
2011-08-11 | merge | Stan Seibert | |
2011-08-11 | Tell CUDA to enlarge L1 cache. | Stan Seibert | |
2011-08-11 | merge heads | Anthony LaTorre | |
2011-08-11 | add consume() to itertoolset. checksum the number of bits shifted in each ↵ | Anthony LaTorre | |
iteration of the bounding volume hierarchy construction. only cache the bounding volume hierarchy information. | |||
2011-08-11 | Show number of registers used in CUDA kernels | Stan Seibert | |
2011-08-11 | Switch from texture to float3 array for upper and lower bounds. 10% speed ↵ | Stan Seibert | |
boost! | |||
2011-08-09 | Automatically detect kernprof and profile main() in sim.py. Also ↵ | Stan Seibert | |
synchronize CUDA calls. | |||
2011-08-09 | The --use-fast-math gives the simulation another 25% speed boost. | Stan Seibert | |
2011-08-09 | fix variable name in GPU.color_solids() | Anthony LaTorre | |
2011-08-09 | merge heads | Anthony LaTorre | |
2011-08-09 | switch to indexing child nodes by start and stop indices instead of start ↵ | Anthony LaTorre | |
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. | |||
2011-08-09 | Put number of detected photons into charge value for channel. | Stan Seibert | |
2011-08-09 | Store a photon history for each hit channel. If multiple photons hit the | Stan Seibert | |
same channel, their history bits are OR'ed together. | |||
2011-08-08 | propagate() takes an array of photon offsets and a range of | Stan Seibert | |
offsets to load. Now events with more photons than RNG states can be propagated through multiple kernel calls. Also lays the groundwork for consolidating photons between steps to reduce the amount of propagation work required. | |||
2011-08-08 | toggle fullscreen mode with f11 key. use matplotlib colors maps defined in ↵ | Anthony LaTorre | |
matplotlib.cm. | |||
2011-08-08 | merge heads | Anthony LaTorre | |
2011-08-08 | add a simple event viewer. view events by running ./camera.py ↵ | Anthony LaTorre | |
<detector_name> -i <name_of_io_file>. | |||
2011-08-08 | Bug fixes when retrieving and rerunning photon lists through propagate. | Stan Seibert | |
2011-08-05 | Warn user if for some reason the default BVH quantization is used because | Stan Seibert | |
they didn't build the geometry before loading it on the GPU. | |||
2011-08-04 | Implement propagate and daq functions in gpu module. | Stan Seibert | |
2011-08-03 | add a GPU class to handle both the gpu context and module; since the ↵ | Anthony LaTorre | |
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. | |||
2011-05-18 | added test likelihood | Anthony LaTorre | |
2011-05-18 | added some more documentation and a more accurate miniature version of lbne | Anthony LaTorre | |
2011-05-17 | added documentation | Anthony LaTorre | |
2011-05-16 | added stl mesh viewer | Anthony LaTorre | |