У меня есть кусок кода, который должен запускаться как на процессоре, так и на CUDA-GPU, а также на другом фрагменте кода, работающем только на процессоре. #define ENABLE_CUDA
- это то, что я 'включил', чтобы включить код CUDA во всем приложении. Вот что мой код выглядит ....#ifdef/#ifndef и #endif
# 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
Но это предполагает дублирование кода (CPU и код GPU) в обоих IfDef и еще блоков, я хотел бы избежать этого.
Как это сделать? Что нужно сделать, чтобы избежать дублирования кода? Любые указатели относительно этого оценили ...
Почему вы не можете просто поставить '# ifdef' на« автономный код процессора »? –