   compilePTX(src, headers, includeNames, ptx);
 
   void *args[] = {(void*)&aInfo, (void*)&bInfo, (void*)&totalElements};
-  run(ptx, "kernel", args, grid, block);
+  launch(ptx.data(), "kernel", args, grid, block);
 }
 
 

  }
}

void run(const std::vector<char>& ptx, const char* name, void* args[], dim3 grid, dim3 block)
{
  CUmodule module;
  CUfunction func;

  CUDA_CHECK(cuModuleLoadDataEx(&module, ptx.data(), 0, NULL, NULL));
  CUDA_CHECK(cuModuleGetFunction(&func, module, name));

  CUDA_CHECK(cuLaunchKernel(func,

  compilePTX(src, headers, includeNames, ptx);

  void *args[] = {(void*)&aInfo, (void*)&bInfo, (void*)&cInfo, (void*)&totalElements};
  launch(ptx.data(), "kernel", args, grid, block);
}


