Question

Optimizing non-sequential simulation speed

  • 3 February 2021
  • 6 replies
  • 558 views

Userlevel 2

I am running dozens of non-sequential ray traces in a row, and I'd like to know of any tips for optimizing speed. My current process:



  • Calculate a path for a moving source/detector.

  • For each point in the path, move the source/detector a few mm (currently either a rectangle or STL detector) and run a ray trace.

  • Aggregate the results at the end.


I saw that you were considering using GPUs (in particular RTX cards) for ray tracing. Any progress on that? ETA? Maybe a beta build of OpticStudio that I can use? It would take a while to run 56 traces at 500k rays each on an 8k triangle STL. 🙂 Maybe I'm missing a simple way that this can be 10x faster.


6 replies

Userlevel 6
Badge +2

Hi Chris


In terms of speed, yes we were considering GPUs but we found out (I mean our developers) that they were limited in their accuracy and ability to scale. So we are working on a High Performance Computing solution that will run OpticStudio calculations on a cloud provider. Let us know if you'd like further details.


That being said, it seems like a macro or a ZOS-API code would be beneficial as you could program it and then let the software compute all of these steps. Are you doing this or would you like any help about this?


Thank you!


Sandrine

Userlevel 2

Thanks for your response!



Hmm that's disappointing about GPUs. For non-sequential stuff, maybe it's okay if there is limited accuracy? I have an RTX card advertised for ray tracing sitting idle while all my CPU cores chug along at maybe 30x slower than what I could get on a GPU. I doubt that the accuracy loss of the GPU overwhelms the inaccuracy of our model anyway. We don't need perfection, we need speed.



I'm using the ZOS API, yep! It's going fine. That's why we switched to OpticStudio. 



If the cloud provider solution was as easy as 'zos_application = ZOSAPI.ZOSAPI_CloudConnection()' with some AWS credentials on my computer that might be interesting! I picture it being a lot more involved than that though.



You may want to take this line out of this page: 'We have been researching GPU calculations for future releases so this may be added in the future. A low to mid-range AMD Radeon / Radeon Pro / Firegl or NVIDIA Geforce / Quadro card will be adequate now. You may want to invest in a graphics card with raytracing support such as Nvidia RTX cards to ensure future compatibility.'

Userlevel 5
Badge +1

Hi Chris,


Thanks for your follow-up post here!


Regarding the trade-off between accuracy and speed for the ray trace, I can certainly bring this up internally with our Product team, though as Sandrine mentioned, the priority in terms of bringing efficiency to ray-tracing times in Non-Sequential Mode does lie with High Performance Computing. To be honest, though, I don't have a lot of knowledge about how it will be connected to the ZOS-API. I can certainly find out more information on that front for you, however!


Lastly, thanks for the feedback on the Knowledgebase article. I'll be more than happy to touch base with the author and update the page. It was my understanding that the reference to ray-tracing was meant to indicate that the graphics card was robust, and thus more capable of rendering complex CAD geometry, but of course, I could be wrong! In any case, clarifying the article benefits everyone :)


Thanks, and let us know if you have any more questions here!


~ Angel

Userlevel 2

What would be ideal for me - if I knew what the tradeoff was and if I could get a flag to enable GPU ray tracing in the API. Those are big requests, so it's fine if that's too much. Count it as a vote for a future feature :)



That article specifically mentions RTX cards, which are known for ray tracing.

Hi Chris

 

In terms of speed, yes we were considering GPUs but we found out (I mean our developers) that they were limited in their accuracy and ability to scale. So we are working on a High Performance Computing solution that will run OpticStudio calculations on a cloud provider. Let us know if you'd like further details.

 

 

That being said, it seems like a macro or a ZOS-API code would be beneficial as you could program it and then let the software compute all of these steps. Are you doing this or would you like any help about this?

 

 

Thank you!

 

 

Sandrine

 

Hi there, 

 

I am interested in the High Performance Computing solution that will run OpticStudio calculations on a cloud provider, as Sandrine mentioned in this post 1 year ago. Wondering if someone could provide me with more details.

Thanks very much!

Userlevel 2
Badge

I’m also be interested in a cloud based HPC option. We have a HPC cluster available, but it only runs in Linux.

Thanks,

Josh

Reply