| 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: |