Cuda 我能得到什么';s用作uuuNV_nvrtc_builtin_header.h?

Cuda 我能得到什么';s用作uuuNV_nvrtc_builtin_header.h?,cuda,jit,nvrtc,cuda-driver,Cuda,Jit,Nvrtc,Cuda Driver,我正在评测一个使用nvrtc库编译的内核(带有debug和lineinfo)。在分析结果中,许多示例列在\uuuunv\unvrtc\u builtin\u header.h中。但是,显然磁盘上没有这样的文件,而且自然地,英伟达计算源视图无法找到它。 我的问题是: \uuuu nv\unvrtc\u builtin\u header.h中实际有什么内容 我可以查看这个神秘标题的内容吗?(如果有帮助,假设我用来执行编译的代码可以修改/添加到其中。) \uuuu nv\unvrtc\u buil

我正在评测一个使用nvrtc库编译的内核(带有debug和lineinfo)。在分析结果中,许多示例列在
\uuuunv\unvrtc\u builtin\u header.h
中。但是,显然磁盘上没有这样的文件,而且自然地,英伟达计算源视图无法找到它。 我的问题是:

  • \uuuu nv\unvrtc\u builtin\u header.h
    中实际有什么内容
  • 我可以查看这个神秘标题的内容吗?(如果有帮助,假设我用来执行编译的代码可以修改/添加到其中。)
\uuuu nv\unvrtc\u builtin\u header.h
中实际有什么内容

标准CUDA包含的所有标准定义以及编译期间工具链自动包含的内部工具链/主机编译器头。所有这些都汇集成一个巨大的文件

我可以查看这个神秘标题的内容吗

标题包含在
nvrtc内置的
库中,您应该能够在平台上使用必需的库转储实用程序来查看它。例如:

$ objdump -s libnvrtc-builtins.so

  [snipped for brevity]

Contents of section .rodata:
 0007a0 2f2a0a20 2a20436f 70797269 67687420  /*. * Copyright
 0007b0 31393933 2d323031 36204e56 49444941  1993-2016 NVIDIA
 0007c0 20436f72 706f7261 74696f6e 2e202041   Corporation.  A
 0007d0 6c6c2072 69676874 73207265 73657276  ll rights reserv
 0007e0 65642e0a 202a0a20 2a204e4f 54494345  ed.. *. * NOTICE
 0007f0 20544f20 4c494345 4e534545 3a0a202a   TO LICENSEE:. *
 000800 0a202a20 54686973 20736f75 72636520  . * This source
 000810 636f6465 20616e64 2f6f7220 646f6375  code and/or docu
 000820 6d656e74 6174696f 6e202822 4c696365  mentation ("Lice
 000830 6e736564 2044656c 69766572 61626c65  nsed Deliverable
 000840 73222920 6172650a 202a2073 75626a65  s") are. * subje
 000850 63742074 6f204e56 49444941 20696e74  ct to NVIDIA int
 000860 656c6c65 63747561 6c207072 6f706572  ellectual proper
 000870 74792072 69676874 7320756e 64657220  ty rights under
 000880 552e532e 20616e64 0a202a20 696e7465  U.S. and. * inte
 000890 726e6174 696f6e61 6c20436f 70797269  rnational Copyri
 0008a0 67687420 6c617773 2e0a202a 0a202a20  ght laws.. *. *
 0008b0 54686573 65204c69 63656e73 65642044  These Licensed D
 0008c0 656c6976 65726162 6c657320 636f6e74  eliverables cont
(如果我显示更多,则可能违反EULA…)

\uuuu nv\unvrtc\u builtin\u header.h
中实际有什么内容

标准CUDA包含的所有标准定义以及编译期间工具链自动包含的内部工具链/主机编译器头。所有这些都汇集成一个巨大的文件

我可以查看这个神秘标题的内容吗

标题包含在
nvrtc内置的
库中,您应该能够在平台上使用必需的库转储实用程序来查看它。例如:

$ objdump -s libnvrtc-builtins.so

  [snipped for brevity]

Contents of section .rodata:
 0007a0 2f2a0a20 2a20436f 70797269 67687420  /*. * Copyright
 0007b0 31393933 2d323031 36204e56 49444941  1993-2016 NVIDIA
 0007c0 20436f72 706f7261 74696f6e 2e202041   Corporation.  A
 0007d0 6c6c2072 69676874 73207265 73657276  ll rights reserv
 0007e0 65642e0a 202a0a20 2a204e4f 54494345  ed.. *. * NOTICE
 0007f0 20544f20 4c494345 4e534545 3a0a202a   TO LICENSEE:. *
 000800 0a202a20 54686973 20736f75 72636520  . * This source
 000810 636f6465 20616e64 2f6f7220 646f6375  code and/or docu
 000820 6d656e74 6174696f 6e202822 4c696365  mentation ("Lice
 000830 6e736564 2044656c 69766572 61626c65  nsed Deliverable
 000840 73222920 6172650a 202a2073 75626a65  s") are. * subje
 000850 63742074 6f204e56 49444941 20696e74  ct to NVIDIA int
 000860 656c6c65 63747561 6c207072 6f706572  ellectual proper
 000870 74792072 69676874 7320756e 64657220  ty rights under
 000880 552e532e 20616e64 0a202a20 696e7465  U.S. and. * inte
 000890 726e6174 696f6e61 6c20436f 70797269  rnational Copyri
 0008a0 67687420 6c617773 2e0a202a 0a202a20  ght laws.. *. *
 0008b0 54686573 65204c69 63656e73 65642044  These Licensed D
 0008c0 656c6976 65726162 6c657320 636f6e74  eliverables cont
(如果我显示更多,则可能违反EULA…

添加到@talonmies:

如果删除objdump头行,则可以通过
xxd-r
传递实际转储行,以获得
\uuunv\unvrtc\u builtin\u头.h
文本:

$ objdump -s --section=.rodata libnvrtc-builtins.so | tail +5 | xxd -r
/*
 * Copyright 1993-2016 NVIDIA Corporation.  All rights reserved.
 *
 * NOTICE TO LICENSEE:
 *
 * This source code and/or documentation ("Licensed Deliverables") are
 * subject to NVIDIA intellectual property rights under U.S. and
 * international Copyright laws.
 *
 * These Licensed Deliverables contained herein is PROPRIETARY and
 * CONFIDENTIAL to NVIDIA and is being provided under the terms and
添加到@talonmies:

如果删除objdump头行,则可以通过
xxd-r
传递实际转储行,以获得
\uuunv\unvrtc\u builtin\u头.h
文本:

$ objdump -s --section=.rodata libnvrtc-builtins.so | tail +5 | xxd -r
/*
 * Copyright 1993-2016 NVIDIA Corporation.  All rights reserved.
 *
 * NOTICE TO LICENSEE:
 *
 * This source code and/or documentation ("Licensed Deliverables") are
 * subject to NVIDIA intellectual property rights under U.S. and
 * international Copyright laws.
 *
 * These Licensed Deliverables contained herein is PROPRIETARY and
 * CONFIDENTIAL to NVIDIA and is being provided under the terms and

您问“假设我可以根据自己的喜好对编译过程进行处理”。那是不可能的。在编辑了我的问题和你的答案以澄清我的意思之后,没有办法让编译器在JIT过程中转储标题。1。你可以把答案还原成你喜欢的任何东西;编辑永远只是建议。2.是的,这是一种常见的做法,如果记忆有用的话,实际上是受到鼓励的,因为现在问题和答案更好地服务于他人。这个想法是,通过编辑和补充答案,一系列的问答也变得完美。3.我只是从你的句子开头删去了几个词,这不像是你在“说”你以前没说的话。你把问题改得足够多,以至于答案的要点从“不…”变成了“是…”。这一切都是因为你没有充分考虑你最初提出的问题。这就是我的反对意见。唯一的改变是“假设我可以乐器等”的措辞——我的改变是澄清我的意思。我的意思是我可以在“我这边”更改代码,而不是CUDA那边,也就是说,我完全可以控制CUDA NVRTC调用的代码,并且可以在其中放置一些可能对我有帮助的东西。你问“假设我可以根据自己的喜好设置编译过程”。那是不可能的。在编辑了我的问题和你的答案以澄清我的意思之后,没有办法让编译器在JIT过程中转储标题。1。你可以把答案还原成你喜欢的任何东西;编辑永远只是建议。2.是的,这是一种常见的做法,如果记忆有用的话,实际上是受到鼓励的,因为现在问题和答案更好地服务于他人。这个想法是,通过编辑和补充答案,一系列的问答也变得完美。3.我只是从你的句子开头删去了几个词,这不像是你在“说”你以前没说的话。你把问题改得足够多,以至于答案的要点从“不…”变成了“是…”。这一切都是因为你没有充分考虑你最初提出的问题。这就是我的反对意见。唯一的改变是“假设我可以乐器等”的措辞——我的改变是澄清我的意思。我的意思是,我可以更改“我这边”的代码,而不是CUDA那边的代码,也就是说,我完全可以控制CUDA NVRTC调用的代码,并且可以将可能对我有帮助的东西放在那里。