[llvm-bugs] [Bug 49682] New: CUDA static member variable initialization issue
via llvm-bugs
llvm-bugs at lists.llvm.org
Mon Mar 22 09:41:32 PDT 2021
https://bugs.llvm.org/show_bug.cgi?id=49682
Bug ID: 49682
Summary: CUDA static member variable initialization issue
Product: clang
Version: 11.0
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: CUDA
Assignee: unassignedclangbugs at nondot.org
Reporter: kjain14 at utexas.edu
CC: llvm-bugs at lists.llvm.org
Created attachment 24676
--> https://bugs.llvm.org/attachment.cgi?id=24676&action=edit
Program showing issue
Summary:
Currently, static member variables can be used in both host and device code.
However, it is not possible to initialize
both host and device copies of these static member variables.
Description:
Marking either the declaration or definition of the static member variable with
__device__ initializes the device copy
with the value in the definition. Attempting to define the host copy results
in a redefinition error.
In the attached code, we define the device copy on line 10. The printf
statement in the kernel prints 3 and the printf
statement in main prints 1.
If we comment out the device definition and leave the host definition, then the
printf statement in the kernel prints 1
and the printf statement in main prints 3. We also get a warning from ptxas:
ptxas warning : Unresolved extern variable '_ZN2c02v0E' in whole program
compilation, ignoring extern qualifier
Is there any way to define the host and device copies to either the same or
different values?
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20210322/dac4d5e0/attachment.html>
More information about the llvm-bugs
mailing list