NVIDIA OpenCL Drivers & News

Discussions related to GPU Acceleration in LuxRender

Moderators: Dade, jromang, tomb, coordinators

Re: NVIDIA OpenCL Drivers & News - Linux

Postby Fred » Sun Jun 21, 2015 3:49 am

jensverwiebe wrote:Almost all success stories come from Windows users, where driver is @ 352.

Jens


There is still some problems with Windows :)

Luxmark works perfectly, but with Lux 1.5rc1, I've got a constant Lux crash when using openCL.

Code: Select all
[Lux 2015-Jun-21 09:45:14 INFO : 0] Tessellating 48 primitives
0x000007FEDF0BD10F (0x00000000024BF110 0x000007FEDF6B9478 0x000007FEDF6B9478 0x000007FEDA24A5B3), ?CreateBuffers@FlexImageFilm@lux@@UEAAXXZ() + 0x1067CF bytes(s)
0x000007FEDF0929B3 (0x00000000FFFFFFFF 0x000007FEEAE93490 0x000007FEDEA80000 0x000007FEEAE93490), ?CreateBuffers@FlexImageFilm@lux@@UEAAXXZ() + 0xDC073 bytes(s)
0x000007FEDF093783 (0x0000000044A28F90 0x000000005B70BC80 0x000000000076DEB0 0x000007FEDF6C05E8), ?CreateBuffers@FlexImageFilm@lux@@UEAAXXZ() + 0xDCE43 bytes(s)
0x000007FEDEBBC3CC (0x000000005B70BC80 0x000000000076DEB0 0x00000000027FB780 0x000007FEDEA80000), ?load_object_data@?$iserializer@Vtext_iarchive@archive@boost@@VRGBColor@luxrays@@@detail@archive@boost@@UEBAXAEAVbasic_iarchive@234@PEAXI@Z() + 0x25DCC bytes(s)
0x000007FEEAED6920 (0x000007FEDF1EDEB0 0x00000000027F9628 0x000007FE00000103 0x0000000000000000), __unDNameEx() + 0x268 bytes(s)
0x000007FEEAECEA4A (0x00000000027F9628 0x00000000027F8990 0x000007FEDF6B9478 0x0000000000000000), __FrameUnwindFilter() + 0x16A bytes(s)
0x000007FEEAECEC46 (0x00000000027F8990 0x00000000027F9010 0x00000000027F9010 0x00000000027F88A0), __GetPlatformExceptionInfo() + 0x17E bytes(s)
0x000007FEEAECF5D7 (0x00000000027FB780 0x000007FEDF9033B0 0x00000000027FB780 0x00000000027F8958), __CxxFrameHandler() + 0x77 bytes(s)
0x000007FEDEF3F366 (0x0000000000000000 0x00000000027F90B0 0x00000000027F8A80 0x00000000027BB000), ?is_destroyed@?$singleton@V?$map@Vbinary_oarchive@archive@boost@@@extra_detail@detail@archive@boost@@@serialization@boost@@SA_NXZ() + 0x19316 bytes(s)
0x0000000077BD922D (0x0000000002830000 0x00000000027F8A80 0x00000000000624CC 0x000007FEDA8C6D53), RtlDecodePointer() + 0x12D bytes(s)
0x0000000077BC842C (0x00000000027FB780 0x000007FEDEFED982 0x00000000027F9010 0x0000000000000000), RtlUnwindEx() + 0x43C bytes(s)
0x0000000077AC052E (0x00000000A2560F10 0x0000000077BF6642 0x0000000000000900 0x00000000E9720101), RtlUnwindEx() + 0x1E bytes(s)
0x000007FEEAECF545 (0x00000000027FA8D0 0x000007FEDF9036A8 0x00000000027F9628 0x000007FEEAECF3C1), _SetThrowImageBase() + 0x125 bytes(s)
0x000007FEEAECD658 (0x000007FEDF6B9478 0x00000000027FB780 0x00000000027F96C9 0x00000000027FA8D0), __DestructExceptionObject() + 0x118 bytes(s)
0x000007FEEAECD9C7 (0x000011A300001100 0x00000000027FA8D0 0x00000000027FA2A0 0x00000000000000D0), __DestructExceptionObject() + 0x487 bytes(s)
0x000007FEEAECED64 (0x00000000027F98B0 0x00000000027FA8D0 0x00000000027FA8D0 0x000007FEE96E2BBF), __GetPlatformExceptionInfo() + 0x29C bytes(s)
0x000007FEEAECF5D7 (0x00000000027FB780 0x000007FEDF9033B0 0x00000000027FB780 0x00000000027F98A8), __CxxFrameHandler() + 0x77 bytes(s)
0x000007FEDEF3F366 (0x0000000002830000 0x00000000027FB780 0x000007FEDFE4CF14 0x00000000027BB000), ?is_destroyed@?$singleton@V?$map@Vbinary_oarchive@archive@boost@@@extra_detail@detail@archive@boost@@@serialization@boost@@SA_NXZ() + 0x19316 bytes(s)
0x0000000077BD91AD (0x0000000002830000 0x000007FEDFE520F8 0x66666666000624CC 0x000007FEE9688694), RtlDecodePointer() + 0xAD bytes(s)
0x0000000077BC8BAF (0x00000000027FA8D0 0x00000000027FA2A0 0x0000000000000001 0x0000000000000000), RtlUnwindEx() + 0xBBF bytes(s)
0x0000000077BC91A8 (0x000007FEDF959358 0x000000005B721040 0x00000000027FAC30 0x000007FEEAE93490), RtlRaiseException() + 0x248 bytes(s)
0x000007FEFD98B3DD (0x000007FEDF959358 0x00000000027FA9F0 0x0000000000000001 0x000007FEDEA80120), RaiseException() + 0x3D bytes(s)
0x000007FEEAECEF63 (0x000007FEDEA80000 0x000000001EB419B0 0x0000000040000000 0x0000000000139FE0), _CxxThrowException() + 0xB3 bytes(s)
0x000007FEDF12F637 (0x0000000000000400 0x00000000000004A0 0x0000000000000009 0x0000000000000004), ?CreateBuffers@FlexImageFilm@lux@@UEAAXXZ() + 0x178CF7 bytes(s)
0x000007FEDF11983A (0x000000009B807F00 0x0000000000100000 0x00000000024BF110 0x0000000000100000), ?CreateBuffers@FlexImageFilm@lux@@UEAAXXZ() + 0x162EFA bytes(s)
0x000007FEDF1194E7 (0x0000000000000001 0x000000005B721040 0x00000000027FB170 0x000000005B721040), ?CreateBuffers@FlexImageFilm@lux@@UEAAXXZ() + 0x162BA7 bytes(s)
0x000007FEDF127700 (0x00000000027FB178 0x0000000000000002 0x0000000043FA7058 0x000000005B721040), ?CreateBuffers@FlexImageFilm@lux@@UEAAXXZ() + 0x170DC0 bytes(s)
0x000007FEDF12F875 (0x0000000000000001 0x0000000000000000 0x00000000027FB170 0x000000005B721D60), ?CreateBuffers@FlexImageFilm@lux@@UEAAXXZ() + 0x178F35 bytes(s)
0x000007FEDF113ED2 (0x000000005B713600 0x000000005B7136F0 0x00000000024BF110 0x0000000000000003), ?CreateBuffers@FlexImageFilm@lux@@UEAAXXZ() + 0x15D592 bytes(s)
0x000007FEDF0BDD33 (0x00000000024BF110 0x00000000024BF110 0x0000000000000000 0x0000000000000000), ?CreateBuffers@FlexImageFilm@lux@@UEAAXXZ() + 0x1073F3 bytes(s)
0x000007FEDF092B57 (0x02F23F3FDAE4AAA5 0x000000005B70BC80 0x000000005B70BC80 0x0000000000000000), ?CreateBuffers@FlexImageFilm@lux@@UEAAXXZ() + 0xDC217 bytes(s)
0x000007FEDEFED982 (0x000000000282F9A4 0x0000000001FAFC80 0x000000000013B060 0x000000000013B060), ?CreateBuffers@FlexImageFilm@lux@@UEAAXXZ() + 0x37042 bytes(s)
0x000007FEDEF4E359 (0x0000000000121CE0 0x0000000000121CE0 0x0000000002435ED0 0x0000000000121CE0), ?ParseEnd@Context@lux@@QEAAXXZ() + 0xB9 bytes(s)
0x000007FEDEF4E755 (0x00000000027FDDA0 0x00000000027FE1A0 0x000000000000002D 0x000000000000006F), ?WorldEnd@Context@lux@@QEAAXXZ() + 0x315 bytes(s)
0x000007FEDEF40E27 (0x0000000002433600 0x0000000000000000 0x0000000002419380 0x0000000002419380), ?is_destroyed@?$singleton@V?$map@Vbinary_oarchive@archive@boost@@@extra_detail@detail@archive@boost@@@serialization@boost@@SA_NXZ() + 0x1ADD7 bytes(s)
0x000007FEDEF459A0 (0x0000000002433600 0x0000000000000000 0x0000000000000000 0x0000000002419380), luxParse() + 0x1C0 bytes(s)
0x000007FEDEF45803 (0x0000000002433600 0x000007FE00000000 0x0000000002444650 0x0000000000000001), luxParse() + 0x23 bytes(s)
0x000000013F3834F7 (0x0000000002433600 0x0000000002444650 0x0000000002433600 0x0000000002444650)
0x000000013F362903 (0x0000000002444650 0x0000000000000000 0x0000000000000000 0x0000000000000000)
0x000007FEEAE94F7F (0x000007FEEAF4CB80 0x0000000000000000 0x0000000000000000 0x0000000000000000), _beginthreadex() + 0x107 bytes(s)
0x000007FEEAE95126 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), _endthreadex() + 0x192 bytes(s)
0x0000000077AA59CD (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), BaseThreadInitThunk() + 0xD bytes(s)
0x0000000077BDB981 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), RtlUserThreadStart() + 0x21 bytes(s)
0x0000000077BDB981 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), RtlUserThreadStart() + 0x21 bytes(s)
[Lux 2015-Jun-21


I've got a Windows 7 with nVidia driver 353.09 and a GTX980.

The scene is a Reality 4 export, so maybe it is ready for the 1.5 Lux version, but in that case, I was expecting errors in parsing, not a crash..
Fred
 
Posts: 9
Joined: Mon Dec 10, 2012 6:30 am
Location: France

Re: NVIDIA OpenCL Drivers & News

Postby jensverwiebe » Mon Jun 29, 2015 4:19 am

So, new machine is up for testing.
This will be now an exclusive Linux Mint workhorse, some stats: I7 5960x octacore, 32 GB DDR4 RAM @ 2133 GHz quadchannel, 2 GTX 980.


Initial experience in Linux:

- Linkespeed is now correct @ 8GT/s
- cuda performance rose by 8%, see (1)
- drivers 346 seems still the best, while 349 did not work out here and 352 was lot slower ( used the xedgers ppa stuff, the NVidia runfiles are inconvenient to use )
- LM3 cpu results confuse me: the clcpu doubled vs. my former Xeon 3.33 hex as expected, the c++-embree and classic native only 50% faster. Guess we don't exploit avx too much if anyway
- LM3.1 beta is 10% faster on NVidia ( 346 driver )
- all scenes work, see LM3 results page

More to come later ...

Jens
User avatar
jensverwiebe
Developer
 
Posts: 3429
Joined: Wed Apr 02, 2008 4:34 pm

Re: NVIDIA OpenCL Drivers & News

Postby moby1kenobi » Tue Jun 30, 2015 7:30 am

Would you count it as "working fine" if running the Biased Path OpenCL engine with the experimental API slowly increases memory with every frame rendered until it crashes (restarting blender lets you render the next set of frames)?

If so, then windows 7 SP1 with a GTX 970 and drivers 353.30 works :)

I can update you when I try using other engines.
User avatar
moby1kenobi
 
Posts: 41
Joined: Sun Jun 16, 2013 7:39 am

Re: NVIDIA OpenCL Drivers & News

Postby SATtva » Tue Jun 30, 2015 7:52 am

moby1kenobi wrote:Would you count it as "working fine" if running the Biased Path OpenCL engine with the experimental API slowly increases memory with every frame rendered until it crashes (restarting blender lets you render the next set of frames)?

It is a known (and very tricky) issue probably related to Blender or the way how LuxBlend interacts with it. It's being looked into.
Linux builds packager
聞くのは一時の恥、聞かぬのは一生の恥
User avatar
SATtva
Developer
 
Posts: 7164
Joined: Tue Apr 07, 2009 12:19 pm
Location: from Siberia with love

Re: NVIDIA OpenCL Drivers & News

Postby Dade » Sun Jul 12, 2015 4:51 am

I have received from NVIDIA another round of suggestions for optimizing the OpenCL code and this is the result (also with OpenCL overclocking enabled):

overclock.jpg


While this is before the optimizations and "overclocking":

old.jpg


The GTX980 moved from 7.6Mrays/sec to 10.3Mrays/sec in LuxMark Lobby scene. It is a remarkable +35% speed up.

Note as the optimizations provide a little speedup on the AMD 290X too. I really appreciate their effort :!:
User avatar
Dade
Developer
 
Posts: 8404
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

Re: NVIDIA OpenCL Drivers & News

Postby tomb » Sun Jul 12, 2015 6:29 am

Very nice indeed! 8-)
User avatar
tomb
Developer
 
Posts: 2677
Joined: Thu Oct 11, 2007 4:23 pm
Location: Oslo, Norway

Re: NVIDIA OpenCL Drivers & News

Postby zukazuka » Sun Jul 12, 2015 6:37 am

Wow... very cool.

How about the issue about the kernel compilation taking a really long time - is there any light on the horizon for this improving?
zukazuka
 
Posts: 489
Joined: Tue Dec 09, 2008 10:01 am
Location: 西安 China

Re: NVIDIA OpenCL Drivers & News

Postby Dade » Sun Jul 12, 2015 8:10 am

zukazuka wrote:How about the issue about the kernel compilation taking a really long time - is there any light on the horizon for this improving?


I doubt but I can report the issue to NVIDIA. The best solution to this problem is still to minimize the number of option changes triggering a kernel re-compilation on our side. Something we can do for LuxRender v1.6 (just ping me if I forgot).
User avatar
Dade
Developer
 
Posts: 8404
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

Re: NVIDIA OpenCL Drivers & News

Postby zukazuka » Sun Jul 12, 2015 5:58 pm

Dade wrote:
zukazuka wrote:How about the issue about the kernel compilation taking a really long time - is there any light on the horizon for this improving?


I doubt but I can report the issue to NVIDIA. The best solution to this problem is still to minimize the number of option changes triggering a kernel re-compilation on our side. Something we can do for LuxRender v1.6 (just ping me if I forgot).


I think you mean the kernel compiler caches a lot of the openCL stuff to disk once compiled so by not changing materials or objects the precompiled code can be reused from disk? rather than recompiled?

I basically reverted back to cpu rendering because a lot of my mix materials or volumetric code will run out of system memory (8gb) or take 15 minutes to compile kernels. the lux1.4 didn't do this and I was able to render most of my stuff on GPU but then again a lot of the materials and volumetrics was't supported in that version I think so this is a different animal.
zukazuka
 
Posts: 489
Joined: Tue Dec 09, 2008 10:01 am
Location: 西安 China

Re: NVIDIA OpenCL Drivers & News

Postby Dade » Mon Jul 13, 2015 2:47 am

zukazuka wrote:I think you mean the kernel compiler caches a lot of the openCL stuff to disk once compiled so by not changing materials or objects the precompiled code can be reused from disk? rather than recompiled?


Yup.

zukazuka wrote:I basically reverted back to cpu rendering because a lot of my mix materials or volumetric code will run out of system memory (8gb) or take 15 minutes to compile kernels. the lux1.4 didn't do this and I was able to render most of my stuff on GPU but then again a lot of the materials and volumetrics was't supported in that version I think so this is a different animal.


Yup.
User avatar
Dade
Developer
 
Posts: 8404
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

PreviousNext

Return to GPU Acceleration

Who is online

Users browsing this forum: No registered users and 2 guests