cuda - 如何找到函数的 CUDA __device__ 定义?
问题描述
我有一个特定的函数,我正在尝试查找源定义,特别是 nvcc 编译器正在使用什么。这个问题的措辞适用于函数中使用的任何函数(或我想的符号)__device__
。鉴于:
__device__ void Foo(){
int x = round( 0.0f );
}
查找 nvcc 编译器用于生成设备代码的“round(float)”定义的标准/规范/推荐方法是什么?
通常我使用 Visual Studio 的 F1“Go to Definition”,或者在项目文件中搜索“round”等。我还搜索 CUDA Toolkit 文档和 CUDA MATH API。在这种情况下,我找到了 VS cmath 定义。但是我如何确定 nvcc 编译器使用哪个定义呢?
解决方案
查找 nvcc 编译器用于生成设备代码的“round(float)”定义的标准/规范/推荐方法是什么?
拆卸。大多数内置函数作为存根存在于头文件中,这些存根被扩展为内联汇编序列,作为设备编译器代码生成过程的一部分。没有可查看的输入代码。
推荐阅读
- javascript - 搜索时下拉列表向上移动
- html - 如何将自定义颜色应用于嵌入在 Boostratp 3.3.x 样式的链接中的 glyficon 图标?
- android-studio - IntelliJ:在伴随对象和最后一个光标位置之间跳转
- c# - 关键字不支持“数据源”错误
- java - 网络断开后 ActiveMQ 5 重新传递不起作用
- python - 如何不断检查 JSON 文件是否在 Python 中更新?- 不和谐.py
- powershell - Powershell:复制项“[...]\*”:由于路径中的空格而出错
- android - 适配器 Android Studio 中的 getDrawable()
- sql-server-2008 - Sql Server :- XML 解析:第 3 行,字符 119,与预期相同。为什么?
- javascript - HTML 加载顺序和动态添加的 JS 文件