Age | Commit message (Collapse) | Author | |
---|---|---|---|
2011-07-21 | pull random number generator states out of the photon struct; this allows ↵ | Anthony LaTorre | |
you to copy photon information within a thread but still keep a single random number generator throughout the thread. | |||
2011-07-21 | hybrid monte carlo render now distinguishes between the two different sides ↵ | Anthony LaTorre | |
of each triangle. reduced the number of runs to average when propagating photons from each pixel in render.py from 5 to 1; the speed improvement outweighs any small improvement in the quality of the rendered image. | |||
2011-07-20 | in the previous commit i wrongly edited the code to reflect/transmit across ↵ | Anthony LaTorre | |
a boundary | |||
2011-07-20 | pulled a lot of the photon propagation code out of src/kernel.cu into ↵ | Anthony LaTorre | |
src/photon.h so that photon propagation by propagate() in kernel.cu and the hybrid monte carlo ray tracing use the same code. instead of a single state, photons now carry the history of the processes they've undergone. this history is stored as a bitmask; see src/photon.h. start_node and first_node of the mesh are now stored as global variables in mesh.h instead of being passed to kernel functions. | |||
2011-07-19 | removed STL pmt models; pmt models are now built by calling rotate_extrude() ↵ | Anthony LaTorre | |
on a profile of the PMT model (see build_pmt() in solids/pmts.py). triangle intersection now allows one of the two coefficients multiplying the vectors which span the triangle to float slightly negative (up to -EPSILON; EPSILON is defined in src/intersect.h) in order to eliminate rays passing through the line between two triangles. cleaned up a lot of unused code. pulled duplicate code in view() and render() into functions in view.py. in order to allow view.py and render.py to search pre-defined geometries, solids, meshes, etc. without requiring them to be pre-built, pre-defined geometries, solids, meshes, etc. should be returned by a function tagged by the decorator @buildable(identifier) defined in view.py, where identifier is a string used to identify the object as an argument to either view.py or render.py. optical materials and surfaces are now defined in optics.py. added an image directory to save cool screenshots. | |||
2011-07-10 | added a hybrid monte carlo ray tracing rendering algorithm | Anthony LaTorre | |
2011-06-24 | argument '-j' to threadtest.py now specifies a list of device ids to be ↵ | Anthony LaTorre | |
used. GPUThread objects now shallow copy the geometry so that threads are not writing to the same memory when the geometry is loaded onto the gpu. the model number for the 12" Hamamatsu PMT is R11708, not r7081 (which is the model for the 10" PMT); all references to the 12" PMT were changed accordingly. only allocate space for 20 materials and 20 surfaces on the gpu instead of 100 to save some space. started to modify track.py to build its own photons and module since the GPUThread object only copies photon hit times back from the gpu (not track information), but I am waiting to find out if pycuda GPUArrays can be used with vector types. | |||
2011-06-24 | speedup mesh intersection by skipping directly to the child node of nodes ↵ | Anthony LaTorre | |
with only one child. | |||
2011-06-23 | move photon initialization to the gpu. it's unclear if this is a speed ↵ | Anthony LaTorre | |
improvement. | |||
2011-06-23 | Replace calculation of likelihood variance from uncertainties because | Stan Seibert | |
it is too slow. Now we do it directly. | |||
2011-06-22 | Rescale the number of PMTs and dimensions of LBNE to match the latest | Stan Seibert | |
Water Cherenkov case study. | |||
2011-06-22 | Start jittering the PMT times in the DAQ simulation. | Stan Seibert | |
2011-06-22 | Switch from float4 to float3 for vertices. | Stan Seibert | |
2011-06-22 | Fix accidental reuse of absorption_length when computing scattering length. | Stan Seibert | |
2011-06-21 | speedup geometry.build() by using more iterators and keeping a list of ↵ | Anthony LaTorre | |
unique materials and surfaces in each solid. | |||
2011-06-21 | Merge ancient head | Stan Seibert | |
2011-06-21 | Merge speedup of build() | Stan Seibert | |
2011-06-21 | added rotate_extrude() and a number of functions to produce meshes of useful ↵ | Anthony LaTorre | |
solid shapes. tried to speed up geometry.build() by replacing some for loops with np.fromiter() and imap(). | |||
2011-06-21 | Set a detector object variable near the top of the main function in | Stan Seibert | |
threadtest.py to make it easier to flip between different models. | |||
2011-06-21 | Switch vertex list on GPU from a texture to a standard device array. | Stan Seibert | |
This avoids the texture size limitation. | |||
2011-06-21 | Create a r7081_cut mesh that uses the cut PMT model. | Stan Seibert | |
Modify LBNE class to take a cut_pmt option to switch to cut PMT model. Add corresponding lbne_cut, minilbne_cut, microlbne_cut detectors. | |||
2011-06-21 | Fix PMT models to work with OpenSCAD, add reduced models cut just | Stan Seibert | |
behind the PMT equator to save memory. Note: To repair a PMT produced by Sketchup, run Netfabb, start repair mode, and run the "Remove degenerate faces" action, and apply repair. Now you can export the part and OpenSCAD will be happy. | |||
2011-06-21 | A GPU-side "DAQ" implementation that identifies the first photon on each ↵ | Stan Seibert | |
channel, which is presumed to trigger that channel. Major speed up in conversion of detection times to time PDFs. | |||
2011-06-21 | Add a microlbne detector for debugging purposes. | Stan Seibert | |
2011-06-20 | pack material and surface indices into the fourth byte of the triangle array ↵ | Anthony LaTorre | |
on the GPU. you can now take a screenshot of an image rendered with view.py() by pressing the f12 key. | |||
2011-06-19 | reverse the face orientation on all triangles in the stl files exported from ↵ | Anthony LaTorre | |
sketchup. | |||
2011-06-18 | stupid mistake. event_times should not be converted to an array when it is ↵ | Anthony LaTorre | |
returned from generate_event() | |||
2011-06-18 | change curandstate array length to 100,000. gputhread.run() now correctly ↵ | Anthony LaTorre | |
initializes ALL of the states. | |||
2011-06-18 | forgot to initialize gpu random number states in gputhread.run() | Anthony LaTorre | |
2011-06-18 | moved class definitions for Solid, Mesh, Material, and Surface into ↵ | Anthony LaTorre | |
geometry.py and moved instances of these classes into separate folders. the Solid object no longer contains a rotation, displacement, or id variable; instead, they are passed to a geometry object when calling add_solid(). | |||
2011-06-17 | visually tested optics code. added models of the inner and outer meshes for ↵ | Anthony LaTorre | |
the 12" hamamatsu and sno pmts. ratdb.py is able to parse ratdb files. chromaticity.py provides a function to map wavelength -> rgb color. lbne detector model now includes an outer black cylinder and pmts with a glass layer and photocathode/reflective surfaces. | |||
2011-06-12 | added some fun models; added some untested code to implement absorption, ↵ | Anthony LaTorre | |
scattering, reflection, and refraction | |||
2011-06-07 | Switch triangle texture to device array, use int32 and float32 | Stan Seibert | |
datatypes everywhere, and build final mesh without concatenation of lists. This allows for very large detectors, like full size LBNE. | |||
2011-06-06 | Thin lens with radius of curvature of 5 units, and thickness of 2 units. | Stan Seibert | |
2011-06-03 | load material/surface index lookup arrays to the gpu and bind them to ↵ | Anthony LaTorre | |
textures. also, forgot to include the gpu code for material/surface structures | |||
2011-06-03 | load materials/surfaces onto the gpu | Anthony LaTorre | |
2011-06-02 | oops; corrected material/surface code packing into fourth byte of triangle ↵ | Anthony LaTorre | |
data in Geometry.build() | |||
2011-06-02 | material/surface codes or color are packed into the fourth byte of the ↵ | Anthony LaTorre | |
triangle data texture depending on the color keyword passed to Geometry.build() | |||
2011-06-02 | triangle mesh is now stored everywhere as a split list of vertices and triangles | Anthony LaTorre | |
2011-06-01 | first step towards moving to a new mesh/solid/geometry structure | Anthony LaTorre | |
2011-06-01 | STL models for SNO, 10 inch and 12 inch PMTs in normal and high-resolution. | Stan Seibert | |
2011-05-31 | you can now specify block size for a gputhread | Anthony LaTorre | |
2011-05-27 | you can now specify number of devices and morton ordering bits to threadtest ↵ | Anthony LaTorre | |
script | |||
2011-05-27 | kernel ran off the end of the ray array | Anthony LaTorre | |
2011-05-26 | cleanup | Anthony LaTorre | |
2011-05-23 | lbne model now imports python modules directly | Anthony LaTorre | |
2011-05-22 | gpu threads | Anthony LaTorre | |
2011-05-20 | you can now pass detector class name to view.py | Anthony LaTorre | |
2011-05-20 | fixed 12 inch hamamastu pmt mesh | Anthony LaTorre | |
2011-05-20 | faster bounding volume hierarchy construction | Anthony LaTorre | |