Best way to take advantage of GPU? Accelerad?

Is there a standard way to make Ladybug/Honeybee renders take advantage of GPU? Just want to take advantage of my Titan Xp.

Should I replace/alias my local version of rpict/etc. with Accelerad versions?
https://nljones.github.io/Accelerad/documentation.html#workflow

Or is there a way to map this right from Ladybug/Honeybee?

1 Like

Tried the replace route suggested on Accelerad project docs, but got some errors when running Run Daylight Simulation w/ Image Based Simulation. I’m asking on their Google Group for help in case my card or configuration of Accelerad isn’t correct.

@delrocco ,
I’ve never tried it myself but from what Nathaniel Jones had told me, he’s basically rewritten all of the Radiance calls in Accelerad. So it should be possible in theory but I haven’t seen anyone go through the process yet. Let us know if you end up attempting it. You’ll likely need to get deep into Radiance and will need to consult the knowledge on the new Radiance forum:

1 Like

Appreciate it.

I installed it and just replaced the original executables with the Accelered ones (and backed up the original ones). The demos worked. I believe it would have worked with my project as well, but the system goes into a hard crash after a few seconds of starting a render. This is likely a Windows TDR error according to Nathaniel. It can be turned off with regedits, but I haven’t tried yet. According to him, the TDR issue doesn’t happen with Tesla cards. But I have a Titan Xp card, and needed to move on to another project. So for now I just restored the normal Radiance executables. If I try it again in the future, I’ll let you know how it goes. It would be nice to cut down these 6h CPU renders.
https://groups.google.com/forum/#!topic/accelerad-users/6Dh6GvQCUM0

I believe the Accelerad executables can be used with all the same command line options. So in theory, if you had them in a separate directory, you should be able to just point any normal Radiance cmd line calls to use the equivalent Accelerad ones. And maybe change the working directory or environment paths temporarily in the executables reference other binaries.

1 Like

Hi @delrocco,
I tried it once, I simply replaced the rtrace and rpict in the C:/Radiance/bin folder to the accelerad ones.
I wrote all the files with HB as for one core, but since my GPU is a bit weak it made no sense for me. So I just changed it back. But in the end, it was running, and I think that´s the point you´re looking for.

Best
Peter

Good feedback. Yep, that is exactly what I did, and the demos worked.

The last step for me is the TDR edits, perhaps needed because of the bulky simulation I was trying. TDR is more of an issue if you have only 1 GPU that is being shared by Windows (for its visual display) and by some application attempting to hog it, like Accelerad or some GPGPU software. If the GPU becomes so busy that it prevents Windows from being served by it, it throws an interrupt.

So I have 2 options: (1) disable TDR w/ regedits and hopefully thatll work (2) perhaps prevent Windows from using my Titan Xp card and just use the onboard Intel one, and then use the Titan just for this type of processing. I haven’t tried either yet - but I am hopeful that one of those will work :slight_smile:

Yes and no.

I never attempted to disable TDR. Nathaniel said it should work (not time out) if you do that. I haven’t been working with long renders in the last year, so I haven’t needed the GPU support, and thus haven’t bothered with the regedits.

Also, no, there is no official way at the moment to map this through the Ladybug Tools panel, though it wouldn’t be difficult to write a script (or tool button) that simply renames your current Radiance .exes and the latest Accelerad .exes that you have in the same location so your system uses those instead. And then a script (or tool button) that reverses the process. I’d do it if I had more time, but (1) I’d have to first confirm the TDR change actually fixes the timeout, (2) make sure Accelerad is still supported (it might not be anymore (I believe it was a college project for Nathaniel)), and (3) it’s kind of hacky to do what I’m suggesting here :slight_smile: