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 のコード) が含まれるため、避けたいと思います。
どうすればそれを達成できますか?コードの重複を避けるために何をする必要がありますか? これに関する指針は高く評価されています...