Комментировать

А теперь последняя (надеюсь)

А теперь последняя (надеюсь) вставка - полная альтернатива предыдущему, но тот же clock.c компилируется отдельно, а multiple.cu отдельно, а объектные модули собираются в единое CUDA приложение (см. Makefile):

  1. #include <iostream>
  2. using namespace std;
  3. #include "clock.h"
  4.  
  5. // Kernel definition
  6. __global__ void VecAdd( void ) {
  7.     return;
  8. }
  9.  
  10. int main() {
  11.     int N = 100;
  12.     uint64_t t1, t2;
  13.     t1 = clock_cycles();
  14.     // Kernel invocation with N threads
  15.     VecAdd<<<1, N>>>();
  16.     t2 = clock_cycles();
  17.     cout << "execution time was " << ( t2 - t1 ) << " cycles" << endl;
  18. }

Вы мне скажете: "а чем оно отличается"?
А тем и отличается, 1-й строчкой #include, что код clock.c сюда не включается.