我想知道如何在Visual Studio 2010中用Nsight 2.2函数在__global__
函数中剖析__device__
函数。我需要知道哪个函数耗费大量资源和时间。我在CC 2.0上有CUDA 5.0。CUDA:Nsight VS2010 profile __device__函数
1
A
回答
3
Nsight Visual Studio Edition 3.0 CUDA Profiler引入了源相关实验。本概要CUDA活动支持以下源水平的实验:
指令计数 - 收集所执行的指令,执行的线程的指令,活动线程直方图,预测螺纹直方图在内核中的每个用户指令。系统调用信息(printf)未被收集。
发散分支 - 收集分支采集,未采用分支和流量控制指令的分歧计数。
内存事务 - 收集交易数量,交易的理想柜台,并要求字节为全球,本地和共享内存的指令。
该信息按照SASS指令收集。如果使用-lineinfo(--generate-line-info)编译内核,则可以将信息汇总到PTX和高级别源代码。由于这些数据是从SASS卷起来的,因此一些统计数据可能对高层来源不直观。例如,分支统计信息可能会在预计100%采取时显示为100%。如果您查看SASS代码,您可能会看到编译器颠倒了条件。
请不要在优化的版本上编译器有时无法维护线表信息。
此时的硬件性能计数器和时间仅可在内核级别。
设备代码时序可以使用clock()和clock64()来完成,如注释中所述。这是一项非常先进的技术,它需要能够理解SASS并解释关于SM warp调度程序的结果。
相关问题
- 1. CUDA:从内核调用__device__函数
- 2. 我可以从CUDA内核函数调用__device__函数吗?
- 3. 如何在线程数较少的CUDA中调用__device__函数
- 4. 访问CUDA库函数内的__device__函数模板专门实例
- 5. 将所有CUDA函数更改为__host__ __device__
- 6. 模板__host__ __device__调用主机定义的函数
- 7. CUDA __host__ __device__变量
- 8. cudaMemcpyFromSymbol在__device__变量
- 9. CUDA:cudaMemcpy为__device__数组返回cudaErrorInvalidValue
- 10. 调用__device__函数是否会影响CUDA中使用的寄存器数量?
- 11. 如何从VS2010调用matlab函数
- 12. VS2010 C#函数使用循环
- 13. VS2010 SFINAE和函数重载错误
- 14. __device__限定符的范围
- 15. 在.profile linux mint中写入函数的语法是什么
- 16. CUDA:__device__和__global__错误:预期的构造函数,析构函数或在“unsigned”/“void”之前的类型转换“
- 17. Ws-basic profile 1.0 vs Ws-basic profile 1.1
- 18. Maven Profile for testing
- 19. @Profile和@ConditionalOnProperty
- 20. .make与.profile
- 21. Sip Profile Building:Android
- 22. php profile with .htaccess
- 23. MVC Common Profile Class
- 24. Customer Image Profile
- 25. Bash .profile not loading
- 26. resize facebook profile image
- 27. Liberty Profile + Servlet 2.4
- 28. django-social-auth profile builder
- 29. CUDA中有__host__和__device__的缩写吗?
- 30. 源文件上的CUDA - __device__方法
谢谢。它看起来很难但很有趣。你知道Nsight 3.0何时会发布吗? – Seltymar 2013-02-28 08:57:54