Hi everybody, I have noticed that the new NVPTX backend requires new metadata to identify the kernels in the module: define void @metadata_kernel(float* %a) { ret void } !nvvm.annotations = !{!1} !1 = metadata !{void (float*)* @metadata_kernel, metadata !"kernel", i32 1} Is clang going to support the emission of this metadata soon ? Or do I have to write it on my own ? :) Thanks, Alberto -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120507/8b7b83d2/attachment.html>
This new metadata format is currently optional. The old ptx_kernel calling convention should still work. The only thing you should have to change when converting from PTX -> NVPTX is the address space map. The calling conventions and intrinsics should be compatible with both.> -----Original Message----- > From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] > On Behalf Of Alberto Magni > Sent: Monday, May 07, 2012 6:09 AM > To: LLVM Developers Mailing List; clang-dev Developers > Subject: [LLVMdev] NVPTX annotation metadata emission > > Hi everybody, > > I have noticed that the new NVPTX backend requires new metadata to > identify the kernels in the module: > > define void @metadata_kernel(float* %a) { > ret void > } > > > !nvvm.annotations = !{!1} > !1 = metadata !{void (float*)* @metadata_kernel, metadata !"kernel", i32 1} > > > Is clang going to support the emission of this metadata soon ? Or do I have to > write it on my own ? :) > > Thanks, > Alberto----------------------------------------------------------------------------------- This email message is for the sole use of the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. -----------------------------------------------------------------------------------
Oh yes the toolchain is working fine. I was just thinking about the frontend support. Thank you Justin, Cheers, Alberto On Mon, May 7, 2012 at 3:05 PM, Justin Holewinski <jholewinski at nvidia.com>wrote:> This new metadata format is currently optional. The old ptx_kernel > calling convention should still work. > > The only thing you should have to change when converting from PTX -> NVPTX > is the address space map. The calling conventions and intrinsics should be > compatible with both. > > > -----Original Message----- > > From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] > > On Behalf Of Alberto Magni > > Sent: Monday, May 07, 2012 6:09 AM > > To: LLVM Developers Mailing List; clang-dev Developers > > Subject: [LLVMdev] NVPTX annotation metadata emission > > > > Hi everybody, > > > > I have noticed that the new NVPTX backend requires new metadata to > > identify the kernels in the module: > > > > define void @metadata_kernel(float* %a) { > > ret void > > } > > > > > > !nvvm.annotations = !{!1} > > !1 = metadata !{void (float*)* @metadata_kernel, metadata !"kernel", i32 > 1} > > > > > > Is clang going to support the emission of this metadata soon ? Or do I > have to > > write it on my own ? :) > > > > Thanks, > > Alberto > > > ----------------------------------------------------------------------------------- > This email message is for the sole use of the intended recipient(s) and > may contain > confidential information. Any unauthorized review, use, disclosure or > distribution > is prohibited. If you are not the intended recipient, please contact the > sender by > reply email and destroy all copies of the original message. > > ----------------------------------------------------------------------------------- >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120507/af61f41a/attachment.html>