You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently we define each coordinate system as a derived class. While this design using virtual functions can save some code lines, this is not necessarily a good usage of the polymorphism, as we use only one Coordinate type throughout one simulation, which is determined when the code is compiled. In this case, switching the coordinate source file using the configure script can be a better design, like we do for the Riemann solvers and EOS.
I am raising this issue because currently the use of the virtual function is not allowed in GPU Kernels in OpenACC, but this design also will help to shorten the the compilation time.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Currently we define each coordinate system as a derived class. While this design using virtual functions can save some code lines, this is not necessarily a good usage of the polymorphism, as we use only one Coordinate type throughout one simulation, which is determined when the code is compiled. In this case, switching the coordinate source file using the configure script can be a better design, like we do for the Riemann solvers and EOS.
I am raising this issue because currently the use of the virtual function is not allowed in GPU Kernels in OpenACC, but this design also will help to shorten the the compilation time.
Beta Was this translation helpful? Give feedback.
All reactions