LuxrenderGPU

General Project and community related discussion.

Moderators: Dade, coordinators

Re: LuxrenderGPU

Postby Dade » Fri Feb 12, 2010 5:38 am

KyungSoo wrote:I'm afraid I don't agree with that the optimal CPU/GPU ratio would be 3 : 7.


3:7 but you have to factor I was talking of a single core of a CPU and assuming a ratio between CPU and GPU performance of 1:1 (that isn't usually true). I mean if we factor the average 4-cores CPU and average GPU performances, it looks like we need 1xCPU to drive 3 GPUs with our current architecture (your tests seems confirm this number too). I think it fits well the average Luxrender users.

KyungSoo wrote:Could you let me know the result of a profiling session of a single GPU thread, too?


This the data of the thread running on the CPU:

Code: Select all
Flat profile:

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls   s/call   s/call  name   
 55.29     34.41    34.41 171963320     0.00     0.00  Path::AdvancePath(Scene*, Sampler*, RayBuffer const*, SampleBuffer*)
 22.27     48.26    13.86     4020     0.00     0.00  PathIntegrator::FillRayBuffer(RayBuffer*)
  9.05     53.89     5.63 572215008     0.00     0.00  RandomSampler::GetLazyValue(Sample*)
  4.21     56.51     2.62     4015     0.00     0.01  PathIntegrator::AdvancePaths(RayBuffer const*)
  4.07     59.05     2.54 57712772     0.00     0.00  Path::Init(Scene*, Sampler*)
  3.37     61.15     2.10 57712871     0.00     0.00  RandomSampler::GetNextSample(Sample*)
  0.79     61.64     0.49       45     0.01     0.01  std::deque<RayBuffer*, std::allocator<RayBuffer*> >::_M_reallocate_map(unsigned long, bool)
  0.22     61.78     0.14        1     0.14     0.23  QBVHAccel::BuildTree(unsigned int, unsigned int, unsigned int*, BBox*, Point*, BBox const&, BBox const&, int, int, int)
  0.10     61.84     0.06  5291168     0.00     0.00  Union(BBox const&, Point const&)
  0.05     61.87     0.03 11198604     0.00     0.00  Union(BBox const&, BBox const&)


Just to give an idea of the times: 9% spent in "RandomSampler::GetLazyValue(Sample*)" is just a call to the Tausworthe random number generator.
User avatar
Dade
Developer
 
Posts: 8404
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

Re: LuxrenderGPU

Postby KyungSoo » Fri Feb 12, 2010 8:28 pm

Dade wrote:3:7 but you have to factor I was talking of a single core of a CPU and assuming a ratio between CPU and GPU performance of 1:1 (that isn't usually true). I mean if we factor the average 4-cores CPU and average GPU performances, it looks like we need 1xCPU to drive 3 GPUs with our current architecture (your tests seems confirm this number too). I think it fits well the average Luxrender users.


I agree with that it fits well the average Luxrender users.
But, it cost too much to build and maintain large render farm.
Please, don't stop here the development.

For your reference I attached a picture of 8/16 GPU server.
If we exchane the Tesla with nVidia GTX-295 or ATI HD-5970,
the number of GPU would be 16 (under development).

Tesla-Server-Main-Promo.gif
Tesla-Server-Main-Promo.gif (24.83 KiB) Viewed 1665 times


Regards,
Last edited by KyungSoo on Sat Feb 13, 2010 6:26 am, edited 2 times in total.
KyungSoo
 
Posts: 375
Joined: Tue Feb 09, 2010 2:49 am
Location: Soeul, KOREA

Re: LuxrenderGPU

Postby namekuseijin » Sat Feb 13, 2010 12:49 am

damn, I take one week for holydays and evolution never stops...

Guess this year I'll need to get my hands on some Fermi card... *drools*
User avatar
namekuseijin
 
Posts: 150
Joined: Fri Jan 30, 2009 3:22 pm
Location: Brazil

Re: LuxrenderGPU

Postby KyungSoo » Sat Feb 13, 2010 6:29 am

namekuseijin wrote:damn, I take one week for holydays and evolution never stops...

Guess this year I'll need to get my hands on some Fermi card... *drools*


Unfortunately, more then one Fermi cards will be of no use at one CPU machine,
since Fermi will have more then twice power of G200 series GPUs.
KyungSoo
 
Posts: 375
Joined: Tue Feb 09, 2010 2:49 am
Location: Soeul, KOREA

Re: LuxrenderGPU

Postby vildanovak » Sat Feb 13, 2010 7:20 am

guys, sorry to ask again, anybody has builds of luxrenderGPU for windows?
vildanovak
 
Posts: 53
Joined: Sat Dec 19, 2009 6:45 am

Re: LuxrenderGPU

Postby tomb » Sat Feb 13, 2010 7:42 am

vildanovak wrote:guys, sorry to ask again, anybody has builds of luxrenderGPU for windows?


I don't think it's quite ready for this yet - there are still essential stuff hardcoded in the source, such as the number of threads to feed the GPU(s) (which needs to be tuned to your particular HW for it to perform well). I'm sure it will be featured alongside the regular branch dev-snapshots when it reaches alpha-stage (i.e. ready for more "public" testing). I'm not 100% sure what the current status is, but I imagine it will need several refactors (large or small rewrites) before it gets to alpha. Dade, feel free to correct me if I'm wrong here :)
User avatar
tomb
Developer
 
Posts: 2677
Joined: Thu Oct 11, 2007 4:23 pm
Location: Oslo, Norway

Re: LuxrenderGPU

Postby Dade » Sat Feb 13, 2010 10:58 am

tomb wrote:
vildanovak wrote:guys, sorry to ask again, anybody has builds of luxrenderGPU for windows?


I don't think it's quite ready for this yet - there are still essential stuff hardcoded in the source, such as the number of threads to feed the GPU(s) (which needs to be tuned to your particular HW for it to perform well). I'm sure it will be featured alongside the regular branch dev-snapshots when it reaches alpha-stage (i.e. ready for more "public" testing). I'm not 100% sure what the current status is, but I imagine it will need several refactors (large or small rewrites) before it gets to alpha. Dade, feel free to correct me if I'm wrong here :)


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

Re: LuxrenderGPU

Postby vildanovak » Sun Feb 14, 2010 4:39 am

Well you don't have to count me as an end-user, I am actually quite active with blender development...And of course, I can wait :)
vildanovak
 
Posts: 53
Joined: Sat Dec 19, 2009 6:45 am

Re: LuxrenderGPU

Postby tomb » Sun Feb 14, 2010 5:47 am

vildanovak wrote:Well you don't have to count me as an end-user, I am actually quite active with blender development...And of course, I can wait :)


Well, in that case compiling the lux-opencl branch on linux is relatively straightforward (it's CMake driven) :) I have no idea what it would entail on windows, sorry.
User avatar
tomb
Developer
 
Posts: 2677
Joined: Thu Oct 11, 2007 4:23 pm
Location: Oslo, Norway

Re: LuxrenderGPU

Postby vimax » Sun Feb 14, 2010 10:32 am

I'm also trying to compile the LuxrenderGPU repositories on windows and I can't seem to do it.
I successfully built the Luxrender 0.7 dev so I know all the paths are there, I also added the OpenCL library but I'm using the lux.sln from the main dev which I'm trying to clean-up. (for instance glass2 has to be removed as it's not in the LuxrenderGPU.
Right now this it's what I'm getting:
Code: Select all
Linking...
warning C4743: 'struct cimg_library::CImg<unsigned char> `static struct cimg_library::CImg<unsigned char> __cdecl cimg_library::CImg<unsigned char>::get_logo40x38(void)'::`2'::res' has different size in 'e:\Kit\LuxBuild\surse\Lux\lux\core\exrio.cpp' and 'e:\Kit\LuxBuild\surse\Lux\lux\renderer\wxglviewer.cpp': 1688 and 24 bytes
warning C4743: 'struct cimg_library::CImg<unsigned char> `static struct cimg_library::CImg<unsigned char> __cdecl cimg_library::CImg<unsigned char>::get_logo40x38(void)'::`2'::res' has different size in 'e:\Kit\LuxBuild\surse\Lux\lux\core\film.cpp' and 'e:\Kit\LuxBuild\surse\Lux\lux\renderer\wxglviewer.cpp': 1688 and 24 bytes
   Creating library Win32\Release/core.lib and object Win32\Release/core.exp
scene.obj : error LNK2001: unresolved external symbol "public: unsigned int __thiscall lux::RenderingEngine::GetThreadCount(void)" (?GetThreadCount@RenderingEngine@lux@@QAEIXZ)
scene.obj : error LNK2001: unresolved external symbol "public: unsigned int __thiscall lux::RenderingEngine::GetThreadsStatus(struct RenderingThreadInfo *,unsigned int)" (?GetThreadsStatus@RenderingEngine@lux@@QAEIPAURenderingThreadInfo@@I@Z)
scene.obj : error LNK2001: unresolved external symbol "public: void __thiscall lux::RenderingEngine::GetNumberOfSamples(double *,double *)" (?GetNumberOfSamples@RenderingEngine@lux@@QAEXPAN0@Z)
scene.obj : error LNK2001: unresolved external symbol "public: void __thiscall lux::RenderingEngine::Signal(enum ThreadSignals)" (?Signal@RenderingEngine@lux@@QAEXW4ThreadSignals@@@Z)
scene.obj : error LNK2001: unresolved external symbol "public: void __thiscall lux::RenderingEngine::Wait(void)" (?Wait@RenderingEngine@lux@@QAEXXZ)
scene.obj : error LNK2001: unresolved external symbol "public: void __thiscall lux::RenderingEngine::Stop(void)" (?Stop@RenderingEngine@lux@@QAEXXZ)
scene.obj : error LNK2001: unresolved external symbol "public: void __thiscall lux::RenderingEngine::Start(void)" (?Start@RenderingEngine@lux@@QAEXXZ)
scene.obj : error LNK2001: unresolved external symbol "public: __thiscall lux::RenderingEngine::~RenderingEngine(void)" (??1RenderingEngine@lux@@QAE@XZ)
scene.obj : error LNK2001: unresolved external symbol "public: __thiscall lux::RenderingEngine::RenderingEngine(class lux::Scene *)" (??0RenderingEngine@lux@@QAE@PAVScene@1@@Z)
Win32\Release/luxrender.exe : fatal error LNK1120: 9 unresolved externals

can someone please shed some light as to where I'm supposed to look?
Maybe I can't compile it with VC++ Express? Or maybe a developer pities us and provides us with a build Luxrender that uses 1 thread GPU and 2 threads CPU (should cover most cases) just to get a taste of what's coming? I for one promise I won't whine about errors, bug or crashes. I just want to try it myself.
User avatar
vimax
 
Posts: 206
Joined: Wed Jul 02, 2008 9:39 pm

PreviousNext

Return to General Discussion

Who is online

Users browsing this forum: No registered users and 1 guest