初学者Cuda计划

时间:2013-08-22 12:17:36

标签: c cuda

这是参考http://wind.d.umn.edu/acmclub/sites/default/files/summation.cu提供的代码http://wind.d.umn.edu/acmclub/?q=node/12 我是一名初学程序员,但除了少数几件事之外,我仍然可以遵循代码和解释。

1。]此行中“new”的含义取自summation.cu

sum_h = new unsigned long();

2.]另外,我真的无法理解这段代码。 strtoul服务的是什么purpuse?如果你能指出一些关于“新”和“新”的初学者资源,我会感激不尽的。 “strtoul将”

n = strtoul(argv[1], NULL, 0);

3.。]代码“summation.cu”是否完全用C ++编写。那么为了代码CUDA程序我需要学习C ++而不是C吗?或者我是否需要同时学习C& C ++?

2 个答案:

答案 0 :(得分:2)

简而言之:

  1. new分配内存(例如总和)(请参阅details
  2. strtoul将字符串转换为long(请参阅details
  3. 我认为你应该从a good C++ book开始(例如C ++ Primer)并稍后学习一些C(例如来自this book)。之后我会开始 CUDA。
  4. 保持下巴。

答案 1 :(得分:1)

  1. 正如Savior Self在评论中指出的那样 - new意味着在运行时堆上的动态内存分配。更多信息here
  2. 我认为这与C函数atoi非常相似,它将存储为char的数字转换为整数。在这种情况下,这应该将argv[1]中的数字(存储为char)转换为unsigned long int。检查here
  3. CUDA中使用的语言称为“C for CUDA”,只要我一直在阅读和学习,您就可以使用C语言进行编码,但也支持C ++的许多功能。您可以开始查看CUDA DOCUMENTATION
  4. 希望这有帮助。