IRC log for #brlcad on 20150817

00:23.15 maths22 starseeker: look at the new build-much better
03:09.34 *** join/#brlcad bhollister2 (~behollis@dhcp-59-221.cse.ucsc.edu)
03:22.32 *** join/#brlcad packrat (~packrator@c-71-231-32-234.hsd1.wa.comcast.net)
03:35.31 *** join/#brlcad packrat (~packrator@c-71-231-32-234.hsd1.wa.comcast.net)
03:40.11 *** join/#brlcad packrat (~packrator@c-71-231-32-234.hsd1.wa.comcast.net)
03:51.13 *** join/#brlcad packrat (~packrator@c-71-231-32-234.hsd1.wa.comcast.net)
04:06.06 *** join/#brlcad hackrat (~packrator@c-71-231-32-234.hsd1.wa.comcast.net)
05:04.46 *** join/#brlcad packrat (~packrator@c-71-231-32-234.hsd1.wa.comcast.net)
05:12.45 *** join/#brlcad hackrat (~packrator@c-71-231-32-234.hsd1.wa.comcast.net)
05:14.49 Notify 03BRL-CAD:vasco_costa * 65964 (brlcad/branches/opencl/include/rt/shoot.h brlcad/branches/opencl/src/librt/primitives/primitive_util.c and 4 others): do the pixel pushing with opencl.
05:22.36 Notify 03BRL-CAD:vasco_costa * 65965 (brlcad/trunk/include/rt/shoot.h brlcad/trunk/src/librt/primitives/primitive_util.c and 4 others): do heavy duty pixel pushing with the gpu. this speeds up rendering of havok around 3x on my system.
05:24.19 *** join/#brlcad packrat (~packrator@c-71-231-32-234.hsd1.wa.comcast.net)
05:25.04 maths22 I just redid the header at http://beta.brlcad.org/wp/
05:25.08 maths22 What do we think?
05:42.28 Notify 03BRL-CAD Wiki:Vasco.costa * 9366 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 12 : 10 Aug-16 Aug */
05:43.25 Notify 03BRL-CAD Wiki:Vasco.costa * 0 /wiki/File:Rt_ehyn.png:
05:44.24 Notify 03BRL-CAD Wiki:Vasco.costa * 0 /wiki/File:Cl_ehyn.png:
05:44.36 Notify 03BRL-CAD Wiki:Vasco.costa * 0 /wiki/File:Diff_ehyn.png:
05:45.31 Notify 03BRL-CAD Wiki:Vasco.costa * 9370 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 12 : 10 Aug-16 Aug */
05:45.53 *** join/#brlcad packrat (~packrator@c-71-231-32-234.hsd1.wa.comcast.net)
05:54.05 Notify 03BRL-CAD Wiki:Vasco.costa * 9371 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 13 : 17 Aug-23 Aug */
05:54.47 Notify 03BRL-CAD Wiki:Vasco.costa * 9372 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 13 : 17 Aug-23 Aug */
05:55.40 Notify 03BRL-CAD Wiki:Vasco.costa * 9373 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 13 : 17 Aug-23 Aug */
05:56.36 Notify 03BRL-CAD Wiki:Vasco.costa * 9374 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 13 : 17 Aug-23 Aug */
05:57.32 Notify 03BRL-CAD Wiki:Vasco.costa * 9375 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 13 : 17 Aug-23 Aug */
05:57.52 Notify 03BRL-CAD Wiki:Vasco.costa * 9376 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 13 : 17 Aug-23 Aug */
05:58.42 Notify 03BRL-CAD Wiki:Vasco.costa * 9377 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 13 : 17 Aug-23 Aug */
05:59.31 Notify 03BRL-CAD Wiki:Vasco.costa * 9378 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 13 : 17 Aug-23 Aug */
06:03.33 *** join/#brlcad shaina (~shaina@61.0.201.53)
06:07.48 *** join/#brlcad packrat (~packrator@c-71-231-32-234.hsd1.wa.comcast.net)
06:21.35 *** join/#brlcad packrat (~packrator@c-71-231-32-234.hsd1.wa.comcast.net)
06:26.18 Notify 03BRL-CAD Wiki:Vasco.costa * 9379 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 13 : 17 Aug-23 Aug */
06:26.51 Notify 03BRL-CAD Wiki:Vasco.costa * 9380 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 13 : 17 Aug-23 Aug */
06:34.39 Notify 03BRL-CAD Wiki:Vasco.costa * 9381 /wiki/User:Vasco.costa/GSoC15/logs: /* Development Status */
06:35.24 Notify 03BRL-CAD Wiki:Vasco.costa * 9382 /wiki/User:Vasco.costa/GSoC15/logs: /* Development Status */
06:35.47 Notify 03BRL-CAD Wiki:Vasco.costa * 9383 /wiki/User:Vasco.costa/GSoC15/logs: /* Development Status */
06:37.01 Notify 03BRL-CAD Wiki:Vasco.costa * 9384 /wiki/User:Vasco.costa/GSoC15/logs: /* Development Status */
06:38.40 Notify 03BRL-CAD Wiki:Vasco.costa * 9385 /wiki/User:Vasco.costa/GSoC15/logs: /* Development Status */
06:39.19 Notify 03BRL-CAD Wiki:Vasco.costa * 9386 /wiki/User:Vasco.costa/GSoC15/logs: /* Development Status */
06:41.44 Notify 03BRL-CAD Wiki:Vasco.costa * 9387 /wiki/User:Vasco.costa/GSoC15/logs: /* Development Status */
06:45.14 Notify 03BRL-CAD Wiki:Vasco.costa * 9388 /wiki/User:Vasco.costa/GSoC15/logs: /* Development Status */
07:41.34 Notify 03BRL-CAD Wiki:Vasco.costa * 9389 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 12 : 10 Aug-16 Aug */
07:44.35 Notify 03BRL-CAD Wiki:Vasco.costa * 9390 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 13 : 17 Aug-23 Aug */
07:49.53 Notify 03BRL-CAD Wiki:Vasco.costa * 9391 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 13 : 17 Aug-23 Aug */
07:51.27 Notify 03BRL-CAD Wiki:Vasco.costa * 9392 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 13 : 17 Aug-23 Aug */
07:52.00 Notify 03BRL-CAD Wiki:Vasco.costa * 9393 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 13 : 17 Aug-23 Aug */
07:52.46 Notify 03BRL-CAD Wiki:Vasco.costa * 9394 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 13 : 17 Aug-23 Aug */
08:01.56 Notify 03BRL-CAD Wiki:Vasco.costa * 9395 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 13 : 17 Aug-23 Aug */
08:04.11 *** join/#brlcad d_rossberg (~rossberg@66-118-151-70.static.sagonet.net)
08:26.30 *** join/#brlcad merzo (~merzo@user-94-45-58-141.skif.com.ua)
08:33.48 *** join/#brlcad merzo (~merzo@92.60.189.225)
08:40.10 *** join/#brlcad merzo_ (~merzo@user-94-45-58-141.skif.com.ua)
08:52.27 *** join/#brlcad packrat (~packrator@c-71-231-32-234.hsd1.wa.comcast.net)
09:33.47 *** join/#brlcad merzo (~merzo@user-94-45-58-141.skif.com.ua)
09:45.24 *** join/#brlcad Izakey (~Izakey@41.205.22.39)
10:19.45 *** join/#brlcad merzo (~merzo@92.60.189.225)
10:25.12 *** join/#brlcad konrado (~konro@41.205.22.57)
10:27.39 *** join/#brlcad merzo (~merzo@user-94-45-58-141.skif.com.ua)
10:44.35 *** join/#brlcad merzo (~merzo@user-94-45-58-141.skif.com.ua)
10:49.03 *** join/#brlcad merzo (~merzo@92.60.189.225)
10:52.27 *** join/#brlcad dracarys983 (dracarys98@nat/iiit/x-vkdwwonozhuytpsc)
11:01.09 *** join/#brlcad packrat (~packrator@c-71-231-32-234.hsd1.wa.comcast.net)
11:31.15 *** join/#brlcad packrat (~packrator@c-71-231-32-234.hsd1.wa.comcast.net)
11:50.57 *** join/#brlcad sofat (~androirc@202.164.45.212)
11:52.41 *** join/#brlcad vasc (~VASC@bl13-118-251.dsl.telepac.pt)
11:53.55 *** join/#brlcad shaina (~shaina@59.89.46.162)
12:33.32 *** join/#brlcad merzo (~merzo@92.60.189.225)
12:59.03 Notify 03BRL-CAD Wiki:Shaina7837 * 9396 /wiki/User:Shainasabarwal/GSoC15/logs: /* 8 August */
12:59.13 *** join/#brlcad sofat (~androirc@202.164.45.204)
13:13.56 *** join/#brlcad merzo (~merzo@user-94-45-58-141.skif.com.ua)
13:22.07 *** join/#brlcad merzo_ (~merzo@user-94-45-58-141.skif.com.ua)
13:27.07 Notify 03BRL-CAD:starseeker * 65966 brlcad/trunk/src/other/openNURBS/opennurbs_array_defs.h: Clear compiler warning about assuming signed overflow does not occur when assuming that (X + c) < X is always false
13:37.03 Notify 03BRL-CAD:starseeker * 65967 brlcad/trunk/src/libged/shape_recognition.cpp: Initialize curr_union
13:40.13 Notify 03BRL-CAD:starseeker * 65968 brlcad/trunk/src/libgcv/facetize.c: clear another longjmp warning
13:44.37 Notify 03BRL-CAD:starseeker * 65969 brlcad/trunk/src/libgcv/CMakeLists.txt: Need the includes for the static target as well.
13:51.59 Notify 03BRL-CAD:starseeker * 65970 brlcad/trunk/src/libgcv/soup.h: Try to add some GCV_EXPORT logic for the test program - untested, needed for Windows.
14:08.37 Notify 03BRL-CAD:carlmoore * 65971 (brlcad/trunk/doc/docbook/presentations/en/Introduction_brlcad-app-devel.xml brlcad/trunk/src/libgcv/bot_solidity.h and 5 others): fix spelling of 'determining', and remove trailing white space
14:18.06 Notify 03BRL-CAD:starseeker * 65972 (brlcad/trunk/misc/CMake/BRLCAD_Targets.cmake brlcad/trunk/src/libgcv/CMakeLists.txt): And the rabbit hole gets deeper. Shared and static targets are separate targets, so they'll need separate generated sources as well for parallel safety.
14:24.03 Notify 03BRL-CAD:d_rossberg * 65973 (brlcad/trunk/src/librt/primitives/arb8/arb8.c brlcad/trunk/src/librt/primitives/table.c): applied patch http://sourceforge.net/p/brlcad/patches/327/ provided by Kalpit Thakkar: Added surface area function for arb8
14:27.29 Notify 03BRL-CAD:starseeker * 65974 (brlcad/trunk/misc/CMake/BRLCAD_Targets.cmake brlcad/trunk/src/other/stepcode/cmake/SC_Utils.cmake brlcad/trunk/src/other/stepcode/src/express/CMakeLists.txt): remove debug printouts
14:30.05 ``Erik gsoc soft deadline today, weeeee
14:37.22 *** join/#brlcad sofat_ (~androirc@202.164.45.212)
14:53.27 *** join/#brlcad smile__ (~smile@202.164.45.212)
15:15.51 *** join/#brlcad sofat (~smile@202.164.45.212)
15:16.05 *** join/#brlcad merzo (~merzo@user-94-45-58-141.skif.com.ua)
15:25.14 Notify 03BRL-CAD:starseeker * 65975 (brlcad/trunk/src/other/stepcode/cmake/SC_Utils.cmake brlcad/trunk/src/other/stepcode/src/express/CMakeLists.txt): Committed too many files - backout so messages will be clearer
15:26.08 Notify 03BRL-CAD:starseeker * 65976 (brlcad/trunk/src/other/stepcode/cmake/SC_Utils.cmake brlcad/trunk/src/other/stepcode/src/express/CMakeLists.txt): Update stepcode build logic for static/shared individual file generation
15:49.40 *** join/#brlcad gurwinder (~chatzilla@59.91.112.3)
15:52.19 *** join/#brlcad sofat_ (~androirc@202.164.45.212)
15:58.26 *** join/#brlcad sofat (~smile@202.164.45.212)
16:00.53 *** join/#brlcad shaina (~shaina@117.214.241.50)
16:17.14 *** join/#brlcad smile (~smile@202.164.45.212)
16:29.04 *** join/#brlcad merzo (~merzo@user-94-45-58-141.skif.com.ua)
16:41.39 *** join/#brlcad Guest74157 (~smile@202.164.45.212)
16:51.33 *** join/#brlcad sofat (~smile@202.164.45.212)
17:12.50 Notify 03BRL-CAD:starseeker * 65977 brlcad/trunk/src/libgcv/soup.h: Missed one
17:14.22 *** join/#brlcad vasc (~VASC@bl13-118-251.dsl.telepac.pt)
17:16.11 Notify 03BRL-CAD:starseeker * 65978 (brlcad/trunk/src/libbu/brlcad_path.c brlcad/trunk/src/libbu/temp.c): Don't conditionalize the log messages on WIN32. Also, go ahead and try the Windows temp paths - they should simply fail and fall through to the correct paths.
17:23.44 *** join/#brlcad smile_ (~smile@202.164.45.212)
17:24.02 *** join/#brlcad sofat (~smile@202.164.45.212)
17:36.53 *** join/#brlcad merzo (~merzo@user-94-45-58-141.skif.com.ua)
17:37.15 *** join/#brlcad ih8sum3r (~ih8sum3r@122.173.214.247)
17:42.25 *** join/#brlcad sofat (~smile@202.164.45.212)
17:45.01 *** join/#brlcad smile_ (~smile@202.164.45.212)
17:47.32 Notify 03BRL-CAD Wiki:Deekaysharma * 9397 /wiki/User:Deekaysharma/logs:
17:50.31 *** join/#brlcad AndroUser2 (~androirc@202.164.45.212)
18:04.25 starseeker alright, 65800 broke solids regression, which was me. now, why....
18:08.40 sofat starseeker, hello
18:09.12 sofat I have submit one patch please accept this ticket no:407
18:11.02 Notify 03BRL-CAD:starseeker * 65979 (brlcad/trunk/src/librt/librt_private.h brlcad/trunk/src/librt/primitives/arbn/arbn.c and 8 others): 65800 somehow breaks regress-solids - rename was mostly for convenience, just revert.
18:30.46 Notify 03BRL-CAD:starseeker * 65980 (brlcad/trunk/src/librt/librt_private.h brlcad/trunk/src/librt/primitives/arbn/arbn.c and 8 others): ah - was a name conflict. just prefix with an underscore
18:40.55 *** join/#brlcad ih8sum3r (~ih8sum3r@122.173.214.247)
18:47.10 Notify 03BRL-CAD:vasco_costa * 65981 (brlcad/trunk/include/rt/shoot.h brlcad/trunk/src/librt/primitives/primitive_util.c and 2 others): * show -z opencl command line option in -h when running rt.* renable table.cl to rt.cl.* replace branches in pixel writing with conditional moves.* refactor sub buffer code.* write depth buffer in network byte order.
18:54.15 Notify 03BRL-CAD:vasco_costa * 65982 (brlcad/branches/opencl/include/rt/shoot.h brlcad/branches/opencl/src/librt/primitives/primitive_util.c and 2 others): merge changes from trunk.
19:01.14 *** join/#brlcad konrado (~konro@41.205.22.23)
19:12.58 Notify 03BRL-CAD:vasco_costa * 65983 brlcad/trunk/src/librt/primitives/rt.cl: remove unnecessary constant.
19:13.16 Notify 03BRL-CAD:vasco_costa * 65984 brlcad/branches/opencl/src/librt/primitives/rt.cl: merge changes from trunk.
19:14.30 Notify 03BRL-CAD Wiki:Vasco.costa * 9398 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 13 : 17 Aug-23 Aug */
19:29.35 Notify 03BRL-CAD Wiki:Vasco.costa * 9399 /wiki/User:Vasco.costa/GSoC15/logs: /* Week 13 : 17 Aug-23 Aug */
19:30.34 Notify 03BRL-CAD Wiki:Vasco.costa * 9400 /wiki/User:Vasco.costa/GSoC15/logs: /* Development Status */
19:30.53 Notify 03BRL-CAD Wiki:Vasco.costa * 9401 /wiki/User:Vasco.costa/GSoC15/logs: /* Development Status */
19:33.51 Notify 03BRL-CAD:dhoward * 65985 (brlcad/trunk/src/librt/screened_poisson.cpp brlcad/trunk/src/other/PoissonRecon/LICENSE and 49 others): Updated Kazhdan code to version 7.0.
20:08.14 Notify 03BRL-CAD Wiki:Rawley1515 * 0 /wiki/User:Rawley1515:
20:53.48 Notify 03BRL-CAD:starseeker * 65986 (brlcad/trunk/CMakeLists.txt brlcad/trunk/src/libged/facetize.c and 3 others): Screened Poisson code isn't building at the moment - make a configure option to enable/disable this feature and set it to off by default.
20:54.40 *** join/#brlcad vasc (~vasc@bl13-118-251.dsl.telepac.pt)
20:57.04 Notify 03BRL-CAD:vasco_costa * 65987 (brlcad/branches/opencl/CMakeLists.txt brlcad/branches/opencl/src/librt/cut.c): Parallel OpenMP HLBVH construction.
20:58.29 starseeker vasc: the file scan.cl is under Apache license, which is currently problematic for us as a direct source inclusion in our libraries... I don't know if this makes sense in opencl terms, but could that be built as a separate library?
21:00.20 Stragus If that's just a parallel prefix sum, rewrite it from scratch, it's very little code
21:01.52 starseeker Stragus: not sure about what it is - just spotted the license header
21:02.05 starseeker hopefully can be rewritten, yes
21:02.20 starseeker or maybe an MIT/BSD variant is available...
21:02.46 starseeker sighs - it's a shame Apache 2 isn't compatible with GPL/LGPL v2
21:07.44 vasc well i'm not using it at this point in time so you can just remove it
21:07.50 vasc but wait a bit
21:08.14 vasc i think i got the code from pyopencl but it's an opencl translation of nvidia code
21:08.18 vasc and they usually use MIT license
21:08.46 starseeker probably derived from an NVIDIA example that was Apache 2 originally
21:09.24 starseeker hmm: https://code.google.com/p/clpp/
21:09.52 vasc yeah its apache license 2
21:10.06 vasc it's not being used right now
21:10.24 vasc you would have to remove the ANSI C code that calls it as well though
21:10.40 vasc eventually it should be useful
21:10.52 starseeker vasc: can it be reimplemented or another implementation used?
21:11.08 vasc i thought the newest apache license was GNU GPL compatible?
21:11.28 starseeker GPL v3
21:11.37 vasc http://www.apache.org/licenses/GPL-compatibility.html
21:11.41 vasc oh ok
21:12.04 vasc well the hlbvh code at least is like MIT or simplified BSD or whatever
21:12.10 starseeker that's fine :-)
21:12.13 vasc replacing that code won't be easy
21:12.25 starseeker the clpp implementation won't do?
21:12.39 starseeker MIT and 2/3 clause BSD are good
21:12.49 vasc a lot of those libraries, opencl libraries, you see in the web are *crap*
21:12.54 starseeker ah
21:13.08 vasc they don't support arrays of non-power of two size for example
21:13.59 vasc swell
21:14.08 vasc CUB is New BSD licensed
21:14.14 vasc and its faster than thrust
21:14.21 vasc so we could port it from that. but CUB is really complicated.
21:14.29 vasc porting that CUDA to OpenCL...
21:14.30 starseeker link?
21:14.37 vasc http://nvlabs.github.io/cub/
21:14.46 vasc it's CUDA not OpenCL
21:14.48 vasc would need to port it
21:14.51 starseeker ah
21:15.17 vasc it's the faster library there is to use on GPUs basically
21:15.21 vasc fastest
21:15.36 vasc better than thrust. it's just that thrust comes bundled with CUDA
21:15.41 starseeker well, another option would be to contact NVIDIA and the other copyright holder on the current scan.cl file and see if they'd be OK relicensing it to the same license as CUB
21:15.45 vasc so i guess the pyopencl guys ported that
21:16.09 vasc we could try that
21:16.15 starseeker can't hurt to ask - worst they'd say is no
21:16.29 vasc PyOpenCL is MIT licensed already
21:16.45 vasc http://documen.tician.de/pyopencl/misc.html#license
21:16.50 starseeker nods - but the file in question has two copyright holders listed, so they'd both have to OK it
21:16.51 vasc so the problem is with NVIDIA
21:17.12 starseeker very likely, but for something like this you need an OK from both
21:17.19 vasc i know some guys i can ask. but i don't think they are the proper people to ask
21:17.29 starseeker they can probably point you in the right direction :-)
21:17.52 Stragus Guys guys, just rewrite the parallel prefix sum if needed :p
21:18.19 starseeker Stragus: "< vasc> replacing that code won't be easy"
21:18.58 vasc it's easy to write your own. writing an *efficient* one that handles all cases is *not* easy.
21:19.26 vasc that code handles exclusive and inclusive prefix sums including segmented ones.
21:19.37 vasc for any sized lists
21:20.08 vasc but like i said it isn't actually used anywhere right now.
21:20.11 vasc we can just remove it.
21:20.16 vasc i'll make a patch.
21:20.28 starseeker nods - worth asking the question though if you think it might come in handy later
21:21.01 vasc public opencl libraries are kinda crap. all of them.
21:21.11 vasc CUDA has a lot better libraries than we do.
21:21.33 starseeker is it even possible to port CUB to OpenCL?
21:21.48 vasc basically any piece of CUDA code can be ported to OpenCL.
21:21.58 vasc it's like asking if you can port from C++ to C.
21:22.05 starseeker ah :-)
21:22.44 vasc CUDA supports templates and CUB uses them extensively for e.g.
21:22.58 vasc OpenCL programmers usually use C like OpenGL programmers.
21:23.52 vasc CUDA C++ actually
21:23.58 starseeker well, if we don't need it right now it's moot - if/when the time comes we can weigh the options
21:24.18 vasc that's the thing with CUDA. it's kinda like Java. it's an architecture, a platform, and C/C++ languages.
21:24.26 vasc ok
21:24.42 vasc that was a good catch i assume because it was in pyopencl it was safe.
21:24.46 vasc assumed
21:24.52 Stragus Some stuff using CUDA-specific features will be difficult to port, but otherwise it's a good assumption
21:26.16 Stragus A parallel prefix sum will probably use CUDA lane shuffles, but you can put that in shared memory
21:27.48 vasc you can actually use PTX assembly to use that i think i was reading the PTX ISA the other day.
21:28.00 vasc the problem is the code won't work in other platforms.
21:28.02 Stragus I think they want portable OpenCL, otherwise they would have used CUDA ;)
21:28.08 vasc right.
21:28.22 vasc maybe in OpenCL 3.0.
21:28.25 vasc or 4.0
21:28.46 vasc i actually considered porting thrust or CUB to OpenCL once
21:28.59 vasc but its premature without OpenCL 2.0.
21:29.06 vasc being widespread.
21:29.35 starseeker when did it come out?
21:29.42 vasc i dunno maybe 2009.
21:29.57 vasc oh 2.0.
21:30.05 vasc maybe 2-3 years?
21:30.12 vasc ago
21:30.39 starseeker vasc: probably enough for a start - by the time we've got everything shipshape and ready to roll, it'll probably be widespread ;-)
21:30.54 vasc heh
21:31.15 vasc well i'm busy with other stuff. that's the problem with us opencl guys. always too much crap to do.
21:31.16 starseeker for example, we'll not be worrying about Qt4 for user interface compatibility
21:31.21 starseeker heh
21:31.27 vasc it's not like CUDA which has whole teams of programmers working on libraries
21:31.30 vasc from NVIDIA
21:31.47 vasc oh that
21:32.02 vasc i didn't check the qt interface to see how the interface would be
21:32.14 starseeker no need - it's not functional yet
21:32.27 starseeker mged, archer, and rtwizard are our three primary GUI tools
21:32.33 vasc it's actually the first time i programmer in tcl/tk
21:32.39 vasc programmed
21:32.49 vasc svn doesn't compile
21:32.50 starseeker then there are the framebuffers (the windows rt and pix-fb throw up)
21:32.57 vasc /home/vasco/brlcad/trunk/src/libged/facetize.c: In function ‘ged_facetize’:
21:32.57 vasc /home/vasco/brlcad/trunk/src/libged/facetize.c:93:9: error: variable ‘sp_fidelity’ set but not used [-Werror=unused-but-set-variable]
21:32.57 vasc <PROTECTED>
21:33.15 starseeker vasc: one sec...
21:35.05 Notify 03BRL-CAD:starseeker * 65988 brlcad/trunk/src/libged/facetize.c: avoid set but unused
21:35.10 starseeker vasc: give that a go
21:36.13 vasc ok thanks it compiles now
21:36.36 vasc i'll remove it now
21:36.42 starseeker vasc: cool - thanks!
21:37.19 vasc ok it ain't in trunk anymore
21:37.24 Notify 03BRL-CAD:vasco_costa * 65989 (brlcad/trunk/src/librt/librt_private.h brlcad/trunk/src/librt/primitives/primitive_util.c): remove opencl scan code because of license issues.
21:37.51 vasc oh right the .cl file
21:38.17 starseeker vasc: worth asking the relevant parties if we need it in the future (if they don't have any strong attachment to Apache it could be quite simple)
21:38.56 vasc nah i would rather port CUB which is three-clause BSD
21:39.04 vasc but its gonna be a lot more tricky
21:39.40 starseeker vasc: what about the "busy with other stuff" thing? :-P Although I suppose a port of CUB might be of much wider OpenCL interest...
21:39.53 vasc like brl-cad for one
21:40.00 Notify 03BRL-CAD:vasco_costa * 65990 (brlcad/trunk/src/librt/primitives/scan.cl =================================================================== and 584 others): forgot to remove the .cl file on the last commit.
21:40.08 vasc if i write libraries i won't be writing application code.
21:40.20 starseeker vasc: fair enough
21:40.47 starseeker vasc: on the other hand, I'm guessing there's a chance we might end up needing a fair bit of stuff in CUB down the road?
21:41.01 vasc i'm also suppose to start working on molecular visualization next year
21:41.16 starseeker ah - yeah, that's a job
21:41.21 vasc but i dunno
21:41.32 vasc well it isn't funded yet
21:41.35 vasc so i dunno
21:41.51 vasc CUB is *very* useful
21:41.56 vasc it has sorting and prefix sum routines
21:42.00 vasc and run length encoding
21:42.02 vasc all kinds of things
21:42.27 vasc using those algorithms as basic blocks you can do all sorts of highly efficient higher level code on top
21:44.21 starseeker thinks back to his ROTMOVIE days in undergrad...
21:45.30 starseeker heh http://product11.com/tech/oldvissoft_files/snapshot3.png
21:45.44 starseeker and that was the modern verson - iirc I was working with an even older one
21:45.59 vasc right. that's balls and sticks model.
21:46.11 vasc i also am going to work on molecular surface visualization. that's the tricky bit.
21:46.50 starseeker also recalls fiddeling with pymol, rasmol and VMD...
21:47.02 vasc it says isosurfaces in there. so it also supports molecular surface visualization i guess.
21:47.45 starseeker http://product11.com/tech/oldvissoft_files/snapshot4.png
21:47.48 starseeker sort of
21:48.06 vasc yeah i've seen better.
21:48.22 Stragus Must be old, with a 4:3 screen ratio
21:48.33 starseeker circa 2001
21:48.44 starseeker likes his 4:3 screen ratio, thank you very much
21:48.58 starseeker one of my biggest gripes with modern hardware
21:49.32 starseeker winces - I see VMD is still using that funky weird custom license
21:49.41 vasc anyway that's *if* we get funding for that project.
21:49.48 vasc if we don't i'll have to find something else to do.
21:50.23 starseeker nods
21:50.48 starseeker well, regardless it sounds like porting CUB would benefit a wide variety of projects
21:51.22 starseeker yeah, pymol's license is a lot saner
21:52.37 starseeker vasc: this the sort of thing you'd be looking at? https://www.pymol.org/sites/all/themes/basic/images/el1.png
21:53.57 vasc yeah that's more like it.
21:56.55 starseeker is rather bemused to see that pymol's interface does not appear to have evolved much - it's not just BRL-CAD ;-)
21:57.34 vasc well if it works it works
21:58.05 vasc but the thing is the render time with the ray trace engine is so fast now it makes you wonder about some of the UI design choices...
21:58.18 starseeker for us you mean?
21:58.24 vasc yeah
21:58.38 starseeker nods - when you were running on a PDP11, it didn't matter so much
21:59.07 starseeker our benchmark test reports in units based on one of the original machines
21:59.24 vasc like to raytrace an image in mged i have to use a drop-down menu and it spawns an rt process thread.
21:59.42 vasc i don't quite know the details of how the image sharing is done though
21:59.57 vasc but i assume it reloads the object database over and over and over.
22:00.01 starseeker that's a cheap way to get asyncronus updating - it pipes the data through an inter-process pipe
22:00.21 vasc i dunno
22:00.26 Stragus At some point, it should be designed for real-time raytracing with direct interaction
22:00.28 vasc that's how the fb works?
22:00.46 vasc yeah that's the thing
22:00.51 starseeker mged fires a separate rt, which uses libpkg to send/recieve the pixels - the framebuffer in MGED then "listens" for them and display them
22:00.58 starseeker it's a bit funky
22:01.06 Stragus That's very inefficient if you want 60 frames per second
22:01.13 vasc i get like tens or hundreds of mpixels/sec on the scenes i've tested with
22:01.13 starseeker on Windows we go through Tcl communication mechanisms
22:01.44 starseeker large chunck of our ifdef WIN32s in the code revolve around that, actually
22:01.45 vasc we should never move the framebuffer from the gpu if we can.
22:01.54 Stragus ^ What vasc said
22:02.22 starseeker nods - our architecture needs a rethink. The notion of "on the GPU" isn't really captured at all
22:02.33 starseeker one of our display backends is raw X11
22:02.45 Stragus Or, minimally, just copy the data directly and not over a pipe or a socket
22:03.01 starseeker we need a properly multithreaded GUI for that to be viable
22:03.38 vasc man i saw the code of the fb some time ago and it even did memory copies inside
22:03.43 starseeker mged is too much work in that regard, and Archer probably is too - the Qt based interface will be keeping such things in mind, but it's a long ways out yet I'm afraid
22:04.58 vasc so i render an image on the gpu, pass it to the cpu, it is deep copied around and around in buffers in several libraries, and then it gets pushed back onto the gpu
22:05.16 starseeker nods - no argument that sucks
22:05.44 Stragus Why is it copied multiple times on the CPU? I can see one copy to send/receive the pixels through the pipe/socket/whatever...
22:06.07 vasc well the data in the client is stored in this format...
22:06.22 vasc it's like RGB{depth}
22:06.44 vasc 3 unsigned chars and 1 (optional) double in network precision
22:06.50 Stragus o.O
22:06.59 vasc the fb driver doesn't use the double precision depth
22:07.04 Stragus That depth is a completely separate buffer I hope?
22:07.11 vasc so it has this c code to manually rearrange the array
22:07.24 vasc before passing it to whatever draws
22:07.31 vasc nope it ain't
22:07.35 Stragus WTF.
22:07.55 Stragus This makes no sense whatsoever
22:08.20 Stragus There's even a ton of wasted memory due to padding the pixel struct to 8 bytes
22:08.27 vasc yes.
22:08.31 vasc the rgbs take 3
22:08.54 vasc you would have to change the image processing, and fb code to fix that
22:09.19 Stragus That's completely messed up
22:09.30 vasc src/libicv and src/fb
22:09.38 vasc and all the code that uses them
22:09.48 vasc which can be quite a bit
22:16.15 starseeker ok, original benchmark machine that we're comparing to was a VAX 11/780
22:16.53 starseeker at a guess, most desktops today would probably be five to ten thousand times faster, maybe more
22:17.04 starseeker even without the OpenCL pipeline
22:17.30 starseeker so that's why the original framebuffer architecture feels a little odd today ;-)
22:19.15 Stragus But why would it waste 31% of the framebuffer memory?
22:19.32 Stragus Memory was precious back then, 5 bytes of that pixel struct are wasted in padding alignment
22:20.30 starseeker not sure about that - maybe a dedicated hardware console that expected data in a particular format?
22:23.24 Notify 03BRL-CAD:starseeker * 65991 brlcad/trunk/src/conv/step/CMakeLists.txt: Remove the ineffective MD5SUM verification attempt - didn't address the actual problem.
22:40.54 vasc asctually you're wrong. it isn't wasting 31% of framebuffer memory
22:41.01 vasc in that case
22:41.15 Stragus It's wasting 5 or 16 bytes?
22:41.20 Stragus 5 of* 16
22:41.43 vasc it's wasting 72%
22:41.54 vasc its 8 bytes depth buffer, 1 byte per r, g,b
22:42.06 vasc the fb buffer for glx discards the depth data
22:42.14 vasc i think
22:42.23 Stragus Right, I was only counting the padding
22:42.49 Stragus 31% lost in padding, 50% lost in data it doesn't care about, 18% of useful data
22:42.50 vasc i think the image outputs can use the depth data. at least they accept it
22:43.36 vasc wonders if they ignore the depth data too
22:43.51 vasc haven't read icv that deep yet
22:44.11 vasc the FILE* writer writes the depth data out. that i do know.
22:44.31 vasc the raw output
22:44.47 vasc the data can be stored in a number of ways
22:45.07 vasc the most common it 3 unsigned chars for r,g,b and 1 network order double for depth
22:45.07 Notify 03BRL-CAD:starseeker * 65992 (brlcad/trunk/src/conv/step/g-step/CMakeLists.txt brlcad/trunk/src/conv/step/step-g/CMakeLists.txt): not using explicit targets now.
22:45.21 vasc there are also 4 double formats r,g,b, depth
22:45.26 vasc depth is always optional
22:45.37 vasc then there is this monster format
22:46.51 vasc it's like uint8 r,g,b; double dist; float hitp[3]; has some region_ptr, short a_x,a_y
22:46.52 vasc i think
22:46.58 vasc or was the color doubles
22:47.06 vasc its the FULLFLOAT format
22:47.36 vasc i think its used to combine results of images from different rt instances. i dunno if its threads or cluster node processes or whatever.
22:47.46 vasc currently i don't support that format
22:48.21 vasc its used to store intermediates i bet.
22:48.34 vasc like you stop ray generation midway and continue elsewhere.
22:49.49 vasc then there's the fact that the framebuffer and raw file outputs allow writing with passing a buffer with a size
22:50.18 vasc while the icv image file format writer only buffered line output
22:51.07 vasc i got to see more of the brl-cad internals than i would be have preferred to know
22:51.35 vasc the high level code is great. its like picture perfect code.
22:51.41 vasc even its a bit oldstyle.
22:51.52 vasc the interface and glue bits.... yikes.
22:52.01 vasc with the outputs
22:52.26 vasc they seem to have been written in a process of accretion.
22:55.10 Stragus I'm sure that's a correct assessment :)
22:55.20 Stragus Incremental little steps over a few decades
23:00.30 vasc i was looking at openhub.net the other day
23:00.54 vasc it said that BRL-CAD had like 330 man-years of coding in it in that model they use based on lines of code and dates and crap
23:01.26 vasc hugely impressive
23:03.06 Stragus Mmhm... I don't know the metric used, but it wouldn't take a single programmer 330 years to write a copy
23:03.32 vasc no but maybe 5 years wouldn't be surprising
23:03.49 vasc if not a lot more
23:04.05 vasc its not just the librt i'm touching in
23:04.13 vasc its everything else too
23:04.34 vasc hugely impressive. massive even.
23:04.38 Stragus Sure
23:07.06 vasc https://www.openhub.net/p/brlcad
23:07.24 vasc 1.2 MLOC
23:08.53 vasc i hope it ain't counting the 3rd party libs though
23:10.42 vasc the branch i made is diverging a lot. i don't think svn is the best choice for this parallel concurrent development work
23:11.17 vasc perhaps git-svn would have been better
23:20.37 Notify 03BRL-CAD:vasco_costa * 65993 (brlcad/branches/opencl/src/librt/cut.c brlcad/branches/opencl/src/librt/librt_private.h brlcad/branches/opencl/src/librt/primitives/primitive_util.c): merge changes from trunk.
23:58.08 Notify 03BRL-CAD Wiki:202.164.45.212 * 9402 /wiki/User:Hiteshsofat/GSoc15/log_developmen:

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