我有一段代码必须在 CPU 和 CUDA-GPU 上运行,而另一段代码单独在 CPU 上运行。
#define ENABLE_CUDA
是我“打开”以在整个应用程序中启用 CUDA 代码。这是我的代码的样子......
# define ENABEL_CUDA is the preprocessor directive to turn ON/OFF CUDA code.
CPU and GPU code --This piece of code has to be executed irrespective of whether CUDA is ON / OFF.
standalone CPU code alone -- This piece of code has to be executed only if CUDA is OFF.
我的解决方案是:
#ifdef ENABLE_CUDA
CPU AND GPU code
# else
CPU AND GPU code
standalone CPU code
# endif
但这涉及 ifdef 和 else 块中的代码重复(CPU 和 GPU 代码),我想避免它。
我怎样才能实现它?为了避免代码重复,必须做什么?对此表示赞赏的任何指针...