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
*/ |