accelerad_rfluxmtx different results on GPU

80 views
Skip to first unread message

Olivier Dupon

unread,
Sep 10, 2021, 7:18:28 AM9/10/21
to Accelerad Users
Hello

I've been a recent hire to a company that employs accelerad for the calculation of irradiance for ray-tracing in their simulations. However, a lot of my colleagues have been noticing some differences between the GPU and CPU calculations of the illumination matrices retrieved from rfluxmtx. From validation, we have concluded that the CPU provides the correct results while the GPU provides higher values than expected as seen as in the provided figure, where red represents the GPU calculated global irradiance and blue the CPUGIPOA_cell.png
To provide more technical context, we command I use to call upon rfluxmtx is as follows:

accelerad_rfluxmtx: running: accelerad_rcontrib -fo+ -lw 0.0001 -ab 5 -ad 10000 -I+ -y 4032 -faa -c 1 -bn 1 -b 'if(-Dx*0-Dy*0-Dz*1,0,-1)' -m groundglow -f reinhartb.cal -p MF=1,rNx=0,rNy=0,rNz=-1,Ux=0,Uy=1,Uz=0,RHS=+1 -bn Nrbins -b rbin -m skyglow '!oconv -f -i tmp/oct_frame_-50.oct ./core/ray_tracing/skyglow_m1.rad'

Note that this the code I use when using reinhard's sky subdivision 1 and when using a different subdivision I use lw = 0.0000083 and ad = 120000. 

Initially I thought it might be due to the size of the simulated plant, as noted that it could cause an issue. However, when reducing to only a size that covers 10m diameter we still got the same results.
I have just started to use this software, so I'm not yet comfortable just messing around with and I hope there are some ideas as to why this is happening.
Thanks in advance.

Kind regards
Olivier

Nathaniel Jones

unread,
Sep 12, 2021, 10:48:08 PM9/12/21
to Accelerad Users
Hi Olivier,

Some slight differences between Radiance and Accelerad are to be expected because they use different random number generators to create stochasticity. However, the differences in your graph are bigger than I would expect. I'm assuming you are using a two-phase or three-phase calculation, and that you are providing the same sky matrix in both cases, so the difference must lie in the daylight coefficients. It would be useful then to compare the daylight coefficient values directly, rather than looking at the time series data.

First, make sure you are using the latest Accelerad version. Then I would suggest to try the same test using an empty scene, so that all patches of the sky are visible. This will determine whether the issue is with the sky discretization or with some materials in the model. If the latter, then we'll need to take a look at the model you're using to see what's happening.

One possibility is that I originally wrote accelerad_rcontrib for reinhart.cal, and the modification for reinhartb.cal was a later addition. The difference has to do with how the ground patch is handled. Comparing Radiance and Accelerad using reinhart.cal could determine whether the issue is with the implementation of reinhartb.cal.

Nathaniel

Olivier Dupon

unread,
Sep 13, 2021, 10:50:28 AM9/13/21
to Accelerad Users
Hi Nathaniel

I have simulated the same test without any surrounding objects on the scene. These objects where the ground and the aluminum stand on which the pv solar cells are placed. The following graph is what I got back:GIPOA_cell.png

It's clear that the objects are one of the larger reasons for this difference in gpu and cpu. The ground has the properties of plastic with the parameters: 0.2  0.2  0.2 0.0 0.02 and the plastic frame has the properties of metal with the parameters: 0.5176 0.5294 0.5373 0.8 0.1.

Additionally, I currently use the version 0.7beta so I don't know if your changes for reinhartb.cal are already in there or not.

Kind regards
Olivier Dupon

Op maandag 13 september 2021 om 04:48:08 UTC+2 schreef nathan...@gmail.com:

Nathaniel Jones

unread,
Sep 13, 2021, 9:40:14 PM9/13/21
to Accelerad Users
Hi Olivier,

Plastic and metal are fairly standard materials that have been in Accelerad for a while. It seems unlikely that those would affect the results. Again, the time series data is not all that useful for debugging this. I would need to see the daylight coefficient arrays to understand why the results are different.

Nathaniel

Olivier Dupon

unread,
Sep 14, 2021, 9:49:44 AM9/14/21
to Accelerad Users
Hi Nathaniel

My apologies, in my haste I forgot you asked for a daylight coefficient plot. Here is a daylight coefficient plot against the sky patches in which black represents the CPU and red the GPU and when no scene objects are considered.
Daylight_coefficients_noscene.png

Kind regards
Olivier Dupon
Op dinsdag 14 september 2021 om 03:40:14 UTC+2 schreef nathan...@gmail.com:
Reply all
Reply to author
Forward
0 new messages