POV-Ray : Newsgroups : povray.macintosh : MacPro parallel rendering trouble Server Time
3 Dec 2024 12:43:17 EST (-0500)
  MacPro parallel rendering trouble (Message 1 to 3 of 3)  
From: CAD-Andi
Subject: MacPro parallel rendering trouble
Date: 14 Aug 2014 08:45:01
Message: <web.53ecaf2a63691d84bf952ed30@news.povray.org>
Hello!

I ran into a big problem yesterday night and hope someone can help me.

Quick description of the problem (if there is such thing):
Multiple render tasks seem to interfere with each other.
Resulting images contain blocks and scan lines in areas they should not even
render in. Every time when two povray instances render together they mess up
each other.

More detailed information:

System:
MacPro 2.7GHz 12-core with 30MB of L3 cache
64GB (4x16GB) of 1866MHz DDR3 ECC
1TB PCIe-based flash storage
Dual AMD FirePro D700 GPUs with 6GB of GDDR5 VRAM each

(Yes! It is the biggest and baddes Mac money can buy!)

Povray version installed:
POVRay3_7_Unofficial r4 (jul 6 2014)

I must utilize the power of this machine rendering multiple jhobs in parallel or
I will not meet my deadline for my project at the end of this month!

Background:
Everything runs fine if I don't run more than one povray task in parallel.
I successfully ran parallel jobs in regular HD resolution 1920x1080.
Worked great for a test rendering.
Then I started the REAL deal and I ran into this:

My animations are stereoscopic projections using "offset" frustum cameras.
I achieve this by setting up a regular perspective camera and render only part
of the image (column and row commands in .ini file). After the render I
programmed some post-processing to crop and join the stereo frames.

The problem:
There seems to be an interference issue between render jobs that run in
parallel. All the sudden something that looks like fields of offset interlaced
scan lines appear in areas of the picture that are not even supposed to be
containing pixels at all. It appears as if rendered pixels from other parallel
render jobs find their way into other render results where they don't belong. It
almost looks like as if the different render tasks "share" the same chunk of
memory and "overwrite" each others result!

Running only one single render task in parallel is not using the machine to it's
fullest potential which I must to get done in tome.

I tried multiple instances of the GUI version and also used the command line
versions. Both exhibit the same issue.

Any ideas? I would be eternally grateful!!!

Two of my .ini files:

Width=5126
Height=1550
Start_Column=190
Start_Row=441
End_Column=4030
End_Row=1521
Antialias=On
Antialias_Threshold=0.1
Antialias_Depth=3
Input_File_Name="./render_S1_LEFT_EYE_.pov"
Initial_Frame=1
Final_Frame=1000
Subset_Start_Frame=1
Subset_End_Frame=1000
Initial_Clock=0
Final_Clock=1
Cyclic_Animation=no


Width=7957
Height=1529
Start_Column=4117
Start_Row=431
End_Column=7957
End_Row=1511
Antialias=On
Antialias_Threshold=0.1
Antialias_Depth=3
Input_File_Name="./render_S3_LEFT_EYE_.pov"
Initial_Frame=1
Final_Frame=1000
Subset_Start_Frame=1
Subset_End_Frame=1000
Initial_Clock=0
Final_Clock=1
Cyclic_Animation=no


Post a reply to this message

From: Yvo Smellenbergh
Subject: Re: MacPro parallel rendering trouble
Date: 14 Aug 2014 14:09:49
Message: <53ecfb6d@news.povray.org>
On 2014-08-14 08:44:26 +0000, CAD-Andi said:

> Hello!
> 
> I ran into a big problem yesterday night and hope someone can help me.
> 
> Quick description of the problem (if there is such thing):
> Multiple render tasks seem to interfere with each other.
> Resulting images contain blocks and scan lines in areas they should not even
> render in. Every time when two povray instances render together they mess up
> each other.
How do you run 2 instances of the same application?
You can make a copy but they will still use the same prefs file.
This application was not designed to have 2 instances running.
The only thing I can think of is that the same output file is used, I 
just tried this with two instances running and it works ;-)
Maybe you can try to specify the output file in each ini file.

That is  the only thing I can think of, but this does not explain why 
you have the same problems with the command line version.
That version does not use a preference file.

If you have more info, please e-mail it directly to me.

BTW, if you set the number of threads to 24 the full potential is used. 
Running two instances will not speed thing up!
Just watch your activity monitor and you will see that all your cores 
are used 100% all the time.

If you use the GUI version and set number of threads to 'automatic' on 
the "Bounding & Threads" all your cores are used.

Yvo

> 
> More detailed information:
> 
> System:
> MacPro 2.7GHz 12-core with 30MB of L3 cache
> 64GB (4x16GB) of 1866MHz DDR3 ECC
> 1TB PCIe-based flash storage
> Dual AMD FirePro D700 GPUs with 6GB of GDDR5 VRAM each
Nice ;-)

> 
> (Yes! It is the biggest and baddes Mac money can buy!)
> 
> Povray version installed:
> POVRay3_7_Unofficial r4 (jul 6 2014)
> 
> I must utilize the power of this machine rendering multiple jhobs in 
> parallel or
> I will not meet my deadline for my project at the end of this month!
> 
> Background:
> Everything runs fine if I don't run more than one povray task in parallel.
> I successfully ran parallel jobs in regular HD resolution 1920x1080.
> Worked great for a test rendering.
> Then I started the REAL deal and I ran into this:
> 
> My animations are stereoscopic projections using "offset" frustum cameras.
> I achieve this by setting up a regular perspective camera and render only part
> of the image (column and row commands in .ini file). After the render I
> programmed some post-processing to crop and join the stereo frames.
> 
> The problem:
> There seems to be an interference issue between render jobs that run in
> parallel. All the sudden something that looks like fields of offset interlaced
> scan lines appear in areas of the picture that are not even supposed to be
> containing pixels at all. It appears as if rendered pixels from other parallel
> render jobs find their way into other render results where they don't 
> belong. It
> almost looks like as if the different render tasks "share" the same chunk of
> memory and "overwrite" each others result!
> 
> Running only one single render task in parallel is not using the 
> machine to it's
> fullest potential which I must to get done in tome.
> 
> I tried multiple instances of the GUI version and also used the command line
> versions. Both exhibit the same issue.
> 
> Any ideas? I would be eternally grateful!!!
> 
> Two of my .ini files:
> 
> Width=5126
> Height=1550
> Start_Column=190
> Start_Row=441
> End_Column=4030
> End_Row=1521
> Antialias=On
> Antialias_Threshold=0.1
> Antialias_Depth=3
> Input_File_Name="./render_S1_LEFT_EYE_.pov"
> Initial_Frame=1
> Final_Frame=1000
> Subset_Start_Frame=1
> Subset_End_Frame=1000
> Initial_Clock=0
> Final_Clock=1
> Cyclic_Animation=no
> 
> 
> Width=7957
> Height=1529
> Start_Column=4117
> Start_Row=431
> End_Column=7957
> End_Row=1511
> Antialias=On
> Antialias_Threshold=0.1
> Antialias_Depth=3
> Input_File_Name="./render_S3_LEFT_EYE_.pov"
> Initial_Frame=1
> Final_Frame=1000
> Subset_Start_Frame=1
> Subset_End_Frame=1000
> Initial_Clock=0
> Final_Clock=1
> Cyclic_Animation=no


-- 
-------------------------------------------------------------------------------------------


POV-Ray 3.7 unofficial: http://megapov.inetart.net/povrayunofficial_mac/
UberPOV Mac: http://megapov.inetart.net/uberpov_mac/index.html#Mac
MegaPOV: http://megapov.inetart.net
E-mail: yvo(DOT)s(AT)gmx.net


Post a reply to this message

From: CAD-Andi
Subject: Re: MacPro parallel rendering trouble
Date: 15 Aug 2014 19:55:01
Message: <web.53ee9d99eb46999bec12b4220@news.povray.org>
Thanks to Yvo the problem is solved:

The solution to running multiple render tasks in parallel on a MAC is:

1. Setup multipole users
2. Allow easy user switching for convenience in the OSX settings
3. Use the command line version of povray and .ini file to start your render
tasks.

Don't forget to point povray with the option +Llibrarypath to the standard
includes directory.

Running multiple render tasks of povray can maximize the CPU usage also during
the linear parsing process that can sometimes be as long or even longer than the
render process depending on how much imported mesh data you try to render.
Parsing can only be done on one core at a time.

Thanks Yvo for the MAC (unofficial) port of POVRAY!

Andi


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.