New rtcontrib?

Hi,

I've read in Rob's post about new rtcontrib version, then searched throught
mail archives and found that Greg write a note about in some mail 2 months
ago.

I'm interested what is in fact changed in rtcontrib calculation algorithm
(if I understood well it doesn't use rtrace any more)?

I suppose new version is available in HEAD source code version? Is it
called 'rcontrib' or 'rtcontrib'?

Rob, for Windows binaries I see there are rcontrib and rtcontrib.
So rcontrib calls new version and rtcontrib old version. Right?

Thanks,
Marija

Hi Marija!

I suppose new version is available in HEAD source code version? Is it called 'rcontrib' or 'rtcontrib'?

The new one is rcontrib, but there is a symlink named rtcontrib pointing to it, so you do not need to change your scripts.

Cheers, Lars.

Hi all,

Marija, yes, the new rcontrib is in the HEAD, and is available in the latest NREL binaries. Lars, the symlink is only created by the makeall script. If you use the NREL binaries, rtcontrib is really rtcontrib, and rcontrib is rcontrib. Clear as mud, eh? Greg, you should have named rcontrib "totally_different_coefficient_calculator". =)

- Rob

···

________________________________________
From: Lars O. Grobe [[email protected]]
Sent: Friday, August 10, 2012 6:11 AM
To: Radiance general discussion
Subject: Re: [Radiance-general] New rtcontrib?

Hi Marija!

I suppose new version is available in HEAD source code version? Is it
called 'rcontrib' or 'rtcontrib'?

The new one is rcontrib, but there is a symlink named rtcontrib pointing
to it, so you do not need to change your scripts.

Cheers, Lars.

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

Hi Rob, Lars and Marija,

I will hop in on this and ask is there any summary or comparison of functionality between the two tools?

Thanks,

-Jack

···

On 8/10/2012 9:12 AM, Guglielmetti, Robert wrote:

Hi all,

Marija, yes, the new rcontrib is in the HEAD, and is available in the latest NREL binaries. Lars, the symlink is only created by the makeall script. If you use the NREL binaries, rtcontrib is really rtcontrib, and rcontrib is rcontrib. Clear as mud, eh? Greg, you should have named rcontrib "totally_different_coefficient_calculator". =)

- Rob

________________________________________
From: Lars O. Grobe [[email protected]]
Sent: Friday, August 10, 2012 6:11 AM
To: Radiance general discussion
Subject: Re: [Radiance-general] New rtcontrib?

Hi Marija!

I suppose new version is available in HEAD source code version? Is it
called 'rcontrib' or 'rtcontrib'?

The new one is rcontrib, but there is a symlink named rtcontrib pointing
to it, so you do not need to change your scripts.

Cheers, Lars.

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

Hi Jack,

AFAIK, the only summary is the diff between the rtcontrib and rcontrib
manpages, and a blurb in the release notes. Greg and Andy can surely
provide more details...

Rob Guglielmetti
National Renewable Energy Laboratory (NREL)
Commercial Buildings Research Group
15013 Denver West Parkway MS:RSF202
Golden, CO 80401
303.275.4319
[email protected]

···

On 8/10/12 7:18 AM, "Jack de Valpine" <[email protected]> wrote:

Hi Rob, Lars and Marija,

I will hop in on this and ask is there any summary or comparison of
functionality between the two tools?

Thanks,

-Jack

On 8/10/2012 9:12 AM, Guglielmetti, Robert wrote:

Hi all,

Marija, yes, the new rcontrib is in the HEAD, and is available in the
latest NREL binaries. Lars, the symlink is only created by the makeall
script. If you use the NREL binaries, rtcontrib is really rtcontrib, and
rcontrib is rcontrib. Clear as mud, eh? Greg, you should have named
rcontrib "totally_different_coefficient_calculator". =)

- Rob

________________________________________
From: Lars O. Grobe [[email protected]]
Sent: Friday, August 10, 2012 6:11 AM
To: Radiance general discussion
Subject: Re: [Radiance-general] New rtcontrib?

Hi Marija!

I suppose new version is available in HEAD source code version? Is it
called 'rcontrib' or 'rtcontrib'?

The new one is rcontrib, but there is a symlink named rtcontrib pointing
to it, so you do not need to change your scripts.

Cheers, Lars.

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

Functionally, the rcontrib replacement of rtcontrib is meant to be identical. The only real difference should be performance. There is a minor exception to this, which is that rcontrib *requires* the -bn option when -b is anything but "0". This was always good practice before, and now it is enforced. All the options and behavior is otherwise the same.

Under the hood, the code has changed dramatically. Before, rtcontrib was a separate process that would call rtrace with either -oTW or -oTV options, generating a huge trace tree that would have to be interpreted by rtcontrib. This was slow under the best of circumstances, and got much slower as rtrace processes were added using the -n option. The rtcontrib process ended up being a major bottleneck. The new code is a single program that forks copies of itself to do the ray-tracing, summing up contributions in each child process. This avoids the inter-process communication, memory overhead, and aforementioned summation bottleneck of the original. I have also added optimizations for when -c is greater than 1 by further batching summations in child processes and reducing communication overhead that way. If you aren't getting linear speed-up with a particular scene and -n setting, increasing -c should get you there.

We have done a fair amount of testing to where we feel pretty confident there are no major bugs in the new code, but feedback is welcome. Lars and I are currently trying to track down some anomalies he's seeing in testing, but by the time of the workshop things should be sorted out if not sooner.

Cheers,
-Greg

···

From: "Guglielmetti, Robert" <[email protected]>
Date: August 10, 2012 7:32:01 AM PDT

Hi Jack,

AFAIK, the only summary is the diff between the rtcontrib and rcontrib
manpages, and a blurb in the release notes. Greg and Andy can surely
provide more details...

Rob Guglielmetti

On 8/10/12 7:18 AM, "Jack de Valpine" <[email protected]> wrote:

Hi Rob, Lars and Marija,

I will hop in on this and ask is there any summary or comparison of
functionality between the two tools?

Thanks,

-Jack

On 8/10/2012 9:12 AM, Guglielmetti, Robert wrote:

Hi all,

Marija, yes, the new rcontrib is in the HEAD, and is available in the
latest NREL binaries. Lars, the symlink is only created by the makeall
script. If you use the NREL binaries, rtcontrib is really rtcontrib, and
rcontrib is rcontrib. Clear as mud, eh? Greg, you should have named
rcontrib "totally_different_coefficient_calculator". =)

- Rob

________________________________________
From: Lars O. Grobe [[email protected]]
Sent: Friday, August 10, 2012 6:11 AM
To: Radiance general discussion
Subject: Re: [Radiance-general] New rtcontrib?

Hi Marija!

I suppose new version is available in HEAD source code version? Is it
called 'rcontrib' or 'rtcontrib'?

The new one is rcontrib, but there is a symlink named rtcontrib pointing
to it, so you do not need to change your scripts.

Cheers, Lars.

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

Hey Greg,

Excellent. Many thanks for the quick summary. I had noticed the name change on a build from current head source I did on a new virtual machine a few weeks ago. Happily my scripts that I had put together based on the original rtcontrib seem to run fine.

Best,

-Jack

···

--
# Jack de Valpine
# president
#
# visarc incorporated
# http://www.visarc.com
#
# channeling technology for superior design and construction

On 8/10/2012 11:41 AM, Greg Ward wrote:

Functionally, the rcontrib replacement of rtcontrib is meant to be identical. The only real difference should be performance. There is a minor exception to this, which is that rcontrib *requires* the -bn option when -b is anything but "0". This was always good practice before, and now it is enforced. All the options and behavior is otherwise the same.

Under the hood, the code has changed dramatically. Before, rtcontrib was a separate process that would call rtrace with either -oTW or -oTV options, generating a huge trace tree that would have to be interpreted by rtcontrib. This was slow under the best of circumstances, and got much slower as rtrace processes were added using the -n option. The rtcontrib process ended up being a major bottleneck. The new code is a single program that forks copies of itself to do the ray-tracing, summing up contributions in each child process. This avoids the inter-process communication, memory overhead, and aforementioned summation bottleneck of the original. I have also added optimizations for when -c is greater than 1 by further batching summations in child processes and reducing communication overhead that way. If you aren't getting linear speed-up with a particular scene and -n setting, increasing -c should get you there.

We have done a fair amount of testing to where we feel pretty confident there are no major bugs in the new code, but feedback is welcome. Lars and I are currently trying to track down some anomalies he's seeing in testing, but by the time of the workshop things should be sorted out if not sooner.

Cheers,
-Greg

From: "Guglielmetti, Robert" <[email protected]>
Date: August 10, 2012 7:32:01 AM PDT

Hi Jack,

AFAIK, the only summary is the diff between the rtcontrib and rcontrib
manpages, and a blurb in the release notes. Greg and Andy can surely
provide more details...

Rob Guglielmetti

On 8/10/12 7:18 AM, "Jack de Valpine" <[email protected]> wrote:

Hi Rob, Lars and Marija,

I will hop in on this and ask is there any summary or comparison of
functionality between the two tools?

Thanks,

-Jack

On 8/10/2012 9:12 AM, Guglielmetti, Robert wrote:

Hi all,

Marija, yes, the new rcontrib is in the HEAD, and is available in the
latest NREL binaries. Lars, the symlink is only created by the makeall
script. If you use the NREL binaries, rtcontrib is really rtcontrib, and
rcontrib is rcontrib. Clear as mud, eh? Greg, you should have named
rcontrib "totally_different_coefficient_calculator". =)

- Rob

________________________________________
From: Lars O. Grobe [[email protected]]
Sent: Friday, August 10, 2012 6:11 AM
To: Radiance general discussion
Subject: Re: [Radiance-general] New rtcontrib?

Hi Marija!

I suppose new version is available in HEAD source code version? Is it
called 'rcontrib' or 'rtcontrib'?

The new one is rcontrib, but there is a symlink named rtcontrib pointing
to it, so you do not need to change your scripts.

Cheers, Lars.

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general