IRC log for #brlcad on 20150815

00:04.21 Stragus Vasco, so you imported some BVH code from somewhere? Eh, that works
00:07.27 Notify 03BRL-CAD:vasco_costa * 65926 (brlcad/branches/opencl/include/rt/shoot.h brlcad/branches/opencl/src/librt/primitives/primitive_util.c brlcad/branches/opencl/src/rt/do.c): allow opencl lightmodel argument passing from the command line.
00:12.11 vasc i think its MIT Licensed
00:12.53 vasc only way to do in the schedule
00:13.13 vasc there's a CUDA version of the code as well. dunno about any OpenCL version though.
00:13.57 vasc there's a reason why i proposed the grid
00:14.15 vasc decent quality bvh builders are quite hairy to implement
00:14.25 Stragus Yes, it's quite a bit of code
00:14.47 Stragus But that's a good solution. It's worth implementing things well or not at all, so that someone else will do it
00:15.10 vasc well it can now render some scenes like 45x faster
00:15.34 vasc brute force is gone
00:16.03 vasc i think its like 4-5x faster than the cpu version right now
00:16.16 Stragus Cool
00:16.28 vasc well it doesn't do csg or a bunch of other things
00:16.54 Stragus I thought it was only the BVH builder, working on abstract "objects"
00:17.15 Stragus Where said objects can be CSG objects of specified weight/cost
00:18.00 Notify 03BRL-CAD Wiki:Bhollister * 9353 /wiki/User:Bhollister/DevLogAug2015: /* Fri, August 14, 2015 */
00:18.06 vasc i'm only computing all intersections on the ray path and discarding those results that are behind something else
00:18.26 vasc so i guess it only supports the union operator
00:18.30 vasc ar ar
00:18.40 Stragus :) It's a good starting point
00:19.23 bhollister3 starseeker: patch #405 has been newly submitted.
00:19.46 vasc btw i added that callback to process hits like you mentioned
00:20.19 Stragus Cool, that will make it easier to extend functionalities
00:21.02 vasc none of this is on trunk though. the memory allocations of the bvh builders are still a bit of a mess
00:21.36 Stragus Is the BVH built as one chunk of memory or it's a mess of pointers?
00:21.47 vasc its a linearized tree
00:21.49 vasc one chunk
00:21.52 Stragus That's good
00:22.55 Notify 03BRL-CAD Wiki:Bhollister * 9354 /wiki/User:Bhollister/DevLogAug2015: /* Fri, August 14, 2015 */
00:22.59 vasc e.g. for the goliath it takes 0.08MB of RAM
00:23.30 vasc but i'm using 255 primitives per leaf i think feh
00:23.47 Stragus These are some heavy leaves
00:23.48 vasc i'll need to figure out a proper setting eventually
00:24.14 Stragus Consdering the high cost of intersection, leaves should be as small as possible
00:24.36 vasc well on bvhs the leaves should be a bit bigger than on kd-trees
00:24.39 Notify 03BRL-CAD Wiki:Bhollister * 9355 /wiki/MGED_CMD_nmg:
00:24.45 vasc coz the bounding boxes take up a lot of space
00:25.11 vasc but yeah the ideal trees are usually 'stringy' with few primitives per leaf
00:25.17 Stragus Right
00:25.38 vasc i'll eventually do some benchmarking to figure out a value
00:26.33 vasc even with these big leaves it takes like half a second to render the goliath
00:27.03 Stragus First hit only?
00:27.13 vasc yeah
00:27.35 vasc i think it takes like 1.5s to render it with BRL-CAD proper
00:27.39 Stragus Darn
00:27.48 vasc well the boxes a kinda big
00:27.51 vasc are
00:28.07 vasc it's just changing some constant somewhere
00:28.33 Stragus Normally, it should be changing the traversal cost weights of the objects...
00:28.36 vasc i usually see 8x speedup when i port things to gpu
00:28.42 vasc but this one is more like 4-5x
00:28.52 Stragus The BRL-CAD raytracer doesn't use SSE/AVX
00:28.56 vasc coz of the doubles
00:29.01 Stragus Oh right, doubles
00:29.45 Stragus The float speed-up would normally be about 60x, but with these doubles, it might go from 2x to 20x
00:29.57 vasc nah it ain't that good
00:30.19 vasc not against MT and SIMD CPU code
00:30.36 vasc but OpenCL can run on the CPU as well
00:30.47 Stragus BRL-CAD's raytracer doesn't use any SSE/AVX
00:30.54 vasc it does now :-)
00:31.01 Stragus Through OpenCL?
00:31.03 vasc yeah
00:31.09 Stragus Does that work well?
00:31.38 vasc i have to change the code and recompile to check. there's no command line option to select device yet. it just picks the first on the list
00:32.31 vasc no i didn't code that
00:33.14 vasc i have an AMD FX 8350
00:34.42 vasc 0.18 sec for that scene that takes 0.09 sec on the GPU
00:34.53 vasc its only 2x faster on the GPU
00:35.15 Stragus There's plenty of optimization work left, but you apparently did a big chunk
00:35.32 vasc the memory writes need to be optimized a lot
00:35.33 Stragus I have a lot of CUDA experience but I have never used doubles, I'm not sure what to expect
00:36.11 Stragus Highly parallel code can be 20x faster on a single GPU than multi-threaded SSE/AVX optimized numa-aware CPU code
00:36.18 Stragus ... with floats
00:36.23 vasc right
00:36.45 vasc but i usually see more like 8x
00:37.11 vasc its the damned thread divergence
00:38.16 vasc that's the thing with OpenCL. it can target a lot of architectures
00:38.21 vasc even if the tools kinda suck
00:38.40 vasc the language itself is perfectly fine
00:38.52 vasc with some exceptions
00:38.54 Stragus OpenCL code always needs to target a specific architecture if you want good performance
00:39.00 vasc well yeah but
00:39.06 vasc you can say the same for C code
00:39.16 Stragus Even with CUDA, I have plenty of #if depending if I'm running on Fermi, Kepler or Maxwell
00:39.42 Stragus Well... yes, except most C code runs on x86 chips with few differences
00:39.49 vasc today maybe
00:39.57 vasc all the world is either x86 or ARM
00:40.26 vasc x86 on laptops and above and ARM on tablets and below
00:40.32 Stragus Right
00:40.43 Stragus Optimization guidelines on ARM are fairly close to x86
00:41.12 vasc the only quirky thing it had that i remember was that branch target bit or whatever
00:42.08 vasc i never did assembly on ARM
00:42.17 vasc only x86
00:42.26 vasc and MIPS i guess but that was on paper
00:42.28 vasc :-)
00:43.09 Stragus MIPS, that still exists? :)
00:43.33 Stragus I read a lot on ARM and NEON, just to reassure myself that not all architectures have to be as poorly designed as x86
00:43.41 vasc well the hennessy and patterson books uses MIPS and DLX
00:43.53 vasc yeah x86 is pretty bad
00:43.59 Stragus Although I found the ISA of all CUDA hardware fantastic
00:44.05 vasc yes me too
00:44.13 vasc lots of nice instructions and its quite orthogonal
00:44.52 vasc the x86 did get a lot better with i386 and x86-64 though
00:45.12 Stragus The weight of legacy is terrible
00:45.31 vasc AMD at one point wanted to replace x87 but eventually they gave up
00:45.41 vasc i think they called it the Technical Floating Point instructions
00:45.43 vasc three operand FP
00:45.49 vasc no stack shit
00:45.56 Stragus The "Clear the interrupt flag" instruction is just one byte, but the "dot product" SSE 4.1 instruction is 5 (!!) bytes, plus 2 bytes for operands and two prefixes, so 9 bytes
00:46.16 vasc it's got seniority
00:46.51 vasc all the flags instructions on x86 are probably going to bite them in the ass in the future
00:47.19 vasc it makes wide processors a problem
00:47.21 Stragus Yes... and implicit operands not allowing good parallelism, all instructions modifying flags, etc.
00:47.53 Stragus The worst problem is probably the guaranteed L1 cache synchronization between cores, it makes scalability very troublesome for the hardware
00:47.56 vasc does PTX even have flags? i don't think so
00:48.21 Stragus CUDA hardware could have a million cores, but x86? Ah... we have serious headaches going above 16
00:48.35 vasc well the Xeon Phi has quite a lot of them
00:48.44 Stragus All cores need to talk to each other to synchronize their L1 cache due to memory coherency guarantees of the architecture
00:49.10 vasc yeah that particular choice of memory protocol wasn't probably the best either
00:49.50 vasc Xeon Phi 61 cores
00:50.31 Stragus I wonder if they relaxed the memory coherency guarantees, requiring actual memory fences
00:52.37 Stragus Apparently not, it features the same x86 cache coherence guarantees
00:52.43 vasc i think they had this ring bus
00:52.48 vasc in the early ones
00:52.52 vasc connecting the processors
00:52.57 vasc i mean the cores
00:52.58 Stragus Right
00:54.08 vasc it's probably the next iteration of the Intel fail architecture for the technical computing market
00:54.26 vasc which will join the i860, Itanium
00:54.30 Stragus Yup
00:54.48 vasc it's too big and hot
00:55.00 vasc something that can only sell for the server market ain't gonna do it
00:55.28 Stragus It's not even good. A consumer-grade GPU beats a $2k Xeon Phi
00:55.33 vasc if anything the gpus might eventually enter their space.
00:56.11 vasc what's that nvidia thingie called.... i think its Denver
00:56.51 vasc ah no they changed the name
00:57.04 vasc or not
00:57.34 Stragus The ARM CPU in Nexus 9?
00:58.09 vasc yeah
00:58.17 vasc it's ARM compatible but its not an ARM chip design
00:58.51 vasc its their answer to the Itanium i guess. snark.
00:59.08 vasc its some kind of VLIW with code morphing. now that would be transmeta i guess.
00:59.41 vasc it's weird that one
00:59.54 Stragus Yes, I never really read anything about it
01:00.03 vasc allegedly NVIDIA wanted to do x86 compat. not ARM compat for the Denver.
01:00.14 vasc then they switched to supposedly being able to target both
01:00.29 vasc then i think they hit a slight snag with Intel patent licensing
01:00.50 Stragus I want a CPU where I can reprogram the instruction decoder
01:00.57 vasc or at least that's how the rumour mill went
01:01.26 vasc Denver is 7-wide
01:01.38 Stragus Look ago, I looked into writing AMD micro-code to reprogram the instruction decoding
01:01.55 Stragus Not surprisingly, information was *very* scarse
01:02.07 vasc yeah. imagine removing a virus in that.
01:02.13 Stragus Long* ago
01:02.25 Stragus Eh, yes
01:02.25 vasc i think the PAL on the Alpha was programmable.
01:02.34 vasc they used it for VAX emulation and stuff like that.
01:02.39 Stragus All modern x86 CPUs have programmable microcodes
01:02.52 Stragus Except that Intel and AMD are keeping their mouth completely shut on the topic
01:03.15 vasc well people might find out how many bugs their processors really have it they didn't
01:03.34 vasc i think i read that Intel disabled TSX recently
01:03.36 Stragus I had figured out that all AMD "direct path" instructions were not programmable, but the "vector path" instructions were interpreted by the microcode
01:03.57 vasc well
01:04.05 vasc it takes a long time to design a processor
01:04.20 vasc and Intel keeps changing the instruction set and not telling anyone about it until its too late
01:04.25 vasc so microcode to the rescue.
01:04.33 Stragus Eheh
01:05.12 Stragus wants to reprogram the opcode map so that all common SSE/AVX instructions get a single byte opcode
01:05.32 vasc to improve code density? that's interesting.
01:05.51 vasc but the short ones are prolly reserved.
01:05.53 Stragus Many modern processors actually choke on the instruction decoding
01:06.08 Stragus Instruction decoding is a bottleneck in many cases, due to the SSE/AVX instruction taking so many bytes and prefixes
01:06.27 vasc yeah x86 has so many additions and changes its like a kiltwork ISA
01:06.46 vasc quilt work
01:06.58 Stragus We have 1 byte opcodes to do things like "add 1 to eax" and so on
01:07.14 vasc that one actually makes sense
01:07.40 vasc there's also the fabled XOR EAX, EAX coz its smaller than MOV EAX, 0
01:08.16 Stragus Okay... what about the single byte "aad" instruction, ASCII adjust AX before division by 10? :)
01:08.38 vasc it probably made sense when they wanted to sell POS. you know cash registers.
01:08.53 vasc that and the BCD mode crap.
01:09.18 Stragus Yes, it's part of the many BCD instructions, opcodes all taking a single byte
01:09.49 Stragus Or other one-byte instructions like "bounds", check if a number is between two numbers or not
01:09.56 vasc i think we used that in the lab when i was an undergrad to program this segmented LED display
01:10.40 vasc i think the string instructions are even more useless
01:10.59 Stragus Oh, did you know that the "inc" (increment) and "dec" (decrement) instructions have a single-byte opcode for every single register?
01:11.27 *** join/#brlcad vasc__ (~vasc@bl13-126-172.dsl.telepac.pt)
01:12.00 Stragus Oh, did you know that the "inc" (increment) and "dec" (decrement) instructions have a single-byte opcode for every single register?
01:12.03 Stragus Opcode 40h: inc ax, opcode 41h: inc cx, opcode 42h: inc dx, opcode 43h: inc sp
01:12.13 Stragus We have *that* and we have 9 bytes dot products
01:12.36 vasc__ they probably thought it made sense at the time
01:13.03 vasc__ i think the x86 was based on some processor that was in turn based on another processor that was an accumulator architecture
01:13.04 vasc__ only one register
01:13.37 Stragus Right... Someone somewhere should have figured out that we needed to clean up that crap when the ISA went 32 bits, then 64 bits
01:13.43 vasc__ they prolly thought it would be more orthogonal and kept doing that crap when they added registers
01:13.53 Stragus And now, it's stuck with us forever since there won't be a 128 bits
01:13.59 vasc__ the 64bits cleaned it up a teensy bit i think
01:14.16 vasc__ who knows...
01:14.55 Stragus Oh actually, the inc/dec mess did become prefixes on 64 bits
01:15.02 vasc__ see
01:15.13 vasc__ yeah i think they reused one of two of those instructions
01:15.26 vasc__ the VEX prefit or whatever. or was it REX.
01:15.28 Stragus Right
01:15.44 Stragus They still should have cleaned up a little more, but eh
01:16.01 vasc__ well
01:16.18 vasc__ AMD had the prior experience with the Technical Floating Point extensions
01:16.41 vasc__ from what i heard the compiler writers and OS writers (prolly MS) didn't want to add support
01:16.51 vasc__ so they dropped it and implemented compatibility with SSE
01:16.55 vasc__ 2
01:16.58 Stragus Never heard of that before. Is it 3dnow?...
01:17.03 vasc__ no
01:17.11 vasc__ it was three operand floating point ala RISC
01:17.23 vasc__ non-vector
01:17.43 Stragus Google isn't finding much either
01:18.06 vasc__ http://arstechnica.com/civis/viewtopic.php?f=8&t=530111
01:18.32 vasc__ the big thing was the FMA support
01:18.35 vasc__ IIRC
01:18.39 vasc__ three operand FMA
01:19.24 vasc__ it would have doubled peak FP performance on x86 vs x87 i think
01:19.36 vasc__ and coz of no more stack the performance would also be better
01:19.37 Stragus Cool, thanks
01:19.46 vasc__ they eventually gave up
01:19.58 Stragus AMD preferred to follow Intel on the SSE path
01:20.35 vasc__ they had the experience with 3dnow
01:20.39 vasc__ and 3dnow!
01:20.55 vasc__ it's hard to convince software writers
01:21.04 vasc__ the tools guys
01:21.19 vasc__ so they gave up and went the SSE, whatever way
01:21.44 vasc__ had they done the TFP i think X87 FP on 64-bit mode would be dead
01:22.05 Stragus They should have thrown the x87 out on 64 bits
01:22.21 vasc__ well the ISA says that SSE is the default FP mode
01:22.29 vasc__ i think
01:22.35 vasc__ SSE2 actually
01:22.35 Stragus Yes...
01:22.46 Stragus But the x87 is taking a *ton* of precious 1 byte opcodes!
01:22.56 Stragus Seriously, like 40 of them
01:22.57 vasc__ does it have those?
01:23.02 Stragus Yes
01:23.11 vasc__ i mean it was designed by those guys at Intel Haifa as an afterthought
01:23.25 vasc__ let the Israelis do this crap no one needs
01:24.00 vasc__ i think they had a limited opcode space so they went with that stack abortion ISA as a compromise
01:24.28 Stragus Hum yes, it's just 16 one-byte opcodes after all, 0xD*
01:24.53 Stragus They play in bits in the ModRM byte to change the instructions
01:25.56 Stragus Since an operand is always the first x87 register on top of the stack, they have an extra 3 bits for every one-byte opcode
01:26.06 Stragus So each one-byte opcode actually holds 8 different instructions
01:26.15 Stragus It's both clever and incredibly nasty
01:26.50 vasc__ it must make that instruction decoder really swell to do
01:28.26 Stragus What a mess, 3 bits of the byte that identifies register operands actually change the instruction
01:28.43 Stragus wouldn't want work in x86 CPU design
01:29.15 vasc__ it's crap piled on more crap
01:29.54 vasc__ like i said only i386 and x86-64 provide some reprieve
01:30.12 vasc__ even if its still suboptimally encoded
01:30.41 Stragus You are certainly right that they designed that whole x87 stack because they didn't have enough opcode space
01:30.52 Stragus It shows just by reading the instruction encoding
01:31.50 vasc__ stack processors were actually a fad at one point. actually several points.
01:32.03 vasc__ latest was prolly the java processor crap
01:32.10 vasc__ picojava
01:32.53 Stragus I completely fail to see any advantage, except perhaps higher instruction encoding density due to an implicit argument
01:33.09 vasc__ yeah that's the usual
01:33.12 Stragus But you could have the same thing with regular registers, a very fast xchg and implicit eax instructions
01:37.09 vasc__ i don't think CISC is necessarily a bad idea
01:37.16 vasc__ but X86 is a bad CISC
01:37.46 Stragus CISC should never have hardcoded registers
01:38.12 Stragus And CISC should implement useful instructions for the future, no whatever Intel found easier/cheaper to implement at that point in time
05:17.00 *** join/#brlcad merzo (~merzo@38-109-133-95.pool.ukrtel.net)
06:32.51 Notify 03BRL-CAD:vasco_costa * 65927 brlcad/branches/opencl/src/rt/do.c: fix pointer bugs in the hlbvh builder. change max leaf size to 4 solids.
07:33.05 *** join/#brlcad merzo (~merzo@134-32-133-95.pool.ukrtel.net)
08:01.24 *** join/#brlcad roop (~roop@106.76.156.16)
08:39.10 *** join/#brlcad merzo (~merzo@140-107-132-95.pool.ukrtel.net)
09:15.54 *** join/#brlcad merzo (~merzo@109-52-133-95.pool.ukrtel.net)
09:43.55 *** join/#brlcad shaina (~shaina@61.0.200.41)
10:32.10 *** join/#brlcad ries (~ries@D979C47E.cm-3-2d.dynamic.ziggo.nl)
10:39.40 *** join/#brlcad ries (~ries@D979C47E.cm-3-2d.dynamic.ziggo.nl)
10:52.02 *** join/#brlcad dracarys983 (dracarys98@nat/iiit/x-qeyccaegxmasrrzf)
11:30.14 *** join/#brlcad konrado (~konro@41.205.22.10)
13:25.42 Notify 03BRL-CAD:ejno * 65928 (brlcad/trunk/src/libgcv/bot_solidity.c brlcad/trunk/src/libgcv/plugin.c brlcad/trunk/src/libgcv/plugin.h): formatting; use const pointers
14:47.12 Notify 03BRL-CAD:vasco_costa * 65929 (brlcad/branches/opencl/include/rt/shoot.h brlcad/branches/opencl/src/librt/primitives/primitive_util.c brlcad/branches/opencl/src/rt/do.c): refactor hlbvh api.
15:42.40 *** join/#brlcad konrado (~konro@41.205.22.32)
15:47.29 *** join/#brlcad vasc (~vasc@bl13-126-172.dsl.telepac.pt)
15:53.15 Notify 03BRL-CAD:vasco_costa * 65930 (brlcad/branches/opencl/include/bu/malloc.h brlcad/branches/opencl/src/libbu/malloc.c brlcad/branches/opencl/src/rt/do.c): memory pools to manage bvh node creation memory.
15:59.30 Notify 03BRL-CAD:vasco_costa * 65931 (brlcad/trunk/include/bu/malloc.h brlcad/trunk/src/libbu/malloc.c): memory pools.
16:12.09 Notify 03BRL-CAD:vasco_costa * 65932 (brlcad/trunk/include/rt/shoot.h brlcad/trunk/src/librt/primitives/arb8/arb8_shot.cl and 9 others): opencl linear bvh traversal.
16:26.30 starseeker bhollister3: apologies for not being around on Fri - didn't have internet access
16:45.28 *** join/#brlcad gurwinder (~chatzilla@59.91.237.53)
17:02.13 Notify 03BRL-CAD:ejno * 65933 brlcad/trunk/src/librt/primitives/bot/gct_decimation/meshdecimation.c: silence warning
17:15.48 Notify 03BRL-CAD:starseeker * 65934 (brlcad/trunk/src/libged/brep.c brlcad/trunk/src/librt/primitives/brep/brep_debug.cpp): Add support for custom colors to a few more brep plotting routines.
17:18.28 starseeker konrado: if we're going to require that libxml be installed, it'll need to move to src/other
17:18.38 starseeker konrado: (sorry, catching up)
17:25.38 starseeker konrado: did you happen to take a look at irrXML as used by assimp? https://github.com/assimp/assimp/tree/master/contrib/irrXML
17:26.08 starseeker konrado: if that can do what is needed, I suspect it would be a much simpler dependency to manage than libxml et. al.
17:28.21 starseeker would need slight rework to make it "properly" contained but since assimp is using their version in geometry file conversion it will hopefully be well matched to our own needs
17:34.57 *** join/#brlcad konrado_ (~konro@41.205.22.38)
17:37.10 konrado starseeker: Thanks for the response, I would look into all what you have said and get back to you latter.
17:37.35 starseeker konrado: if we do need libxml we can do that, but it's likely going to require more build work than just adding install rules
17:38.20 starseeker iirc there was quite a lot in there, and the existing CMake files are targeted solely at getting enough of it working to do our docbook build and validation in a cross platform fashion
17:39.04 starseeker I'd want to do a more thorough job of it if libxml graduates to an installed 3rd party src/other dep
17:39.47 starseeker konrado: if it would help for me to break out a stand-alone version of the assimp irrxml fork I can probably do that fairly quickly - let me know
17:43.04 *** join/#brlcad konro__ (~konro@41.205.22.43)
17:44.43 starseeker sxmlc might also be worth a look if irrXML proves inadequate for some reason - it seems to be maintained
17:45.10 starseeker but assimp's needs are likely to map very well to ours in this area
17:45.55 starseeker is still partial to the idea of hooking them under libgcv to handle bot formats...
18:10.06 *** join/#brlcad bhollister (~brad@2601:647:cb01:9750:b530:224b:6c3:7974)
18:21.47 *** join/#brlcad konrado (~konro@41.205.22.12)
18:34.10 *** join/#brlcad ries_nicked (~ries@D979C47E.cm-3-2d.dynamic.ziggo.nl)
18:34.50 Notify 03BRL-CAD:vasco_costa * 65935 brlcad/branches/opencl/src/rt/do.c: remove experimental grids code.
18:37.05 Notify 03BRL-CAD Wiki:Gurwinder Singh * 9356 /wiki/User:Gurwinder_Singh/GSoc15/log_developmen:
18:42.30 Notify 03BRL-CAD Wiki:Gurwinder Singh * 9357 /wiki/Povray:
18:43.18 Notify 03BRL-CAD Wiki:Gurwinder Singh * 9358 /wiki/Povray:
20:05.06 Notify 03BRL-CAD Wiki:106.76.158.73 * 9359 /wiki/User:Hiteshsofat/GSoc15/log_developmen:
20:34.47 Notify 03BRL-CAD:vasco_costa * 65936 brlcad/branches/opencl/src/rt/do.c: refactor bvh builder to accept a list of centroids and boxes instead of primitives.
20:49.22 *** join/#brlcad gaganjyot (~vikram@117.253.227.160)
20:57.27 *** join/#brlcad Ch3ck_ (~Ch3ck@41.205.19.154)
21:54.30 *** part/#brlcad Ch3ck_ (~Ch3ck@41.205.19.154)
22:03.08 Notify 03BRL-CAD:vasco_costa * 65937 (brlcad/branches/opencl/include/rt/defines.h brlcad/branches/opencl/include/rt/shoot.h and 3 others): move bvh builder to librt.
22:19.54 Notify 03BRL-CAD:vasco_costa * 65938 (brlcad/trunk/include/rt/defines.h brlcad/trunk/include/rt/shoot.h and 2 others): add hlbvh cpu builder to trunk.
22:28.35 Notify 03BRL-CAD:vasco_costa * 65939 brlcad/branches/opencl/src/librt/cut.c: improve comments.
22:32.11 Notify 03BRL-CAD Wiki:Vasco.costa * 9360 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 12 : 10 Aug-16 Aug */
22:32.54 Notify 03BRL-CAD Wiki:Vasco.costa * 9361 /wiki/User:Vasco.costa/GSoC15/logs: /* Development Status */

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.