https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105274

            Bug ID: 105274
           Summary: [libgomp][nvptx] Provide means to set the stack size
                    on the device side (+ improve doc)
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Keywords: documentation, openmp
          Severity: normal
          Priority: P3
         Component: libgomp
          Assignee: unassigned at gcc dot gnu.org
          Reporter: burnus at gcc dot gnu.org
                CC: jakub at gcc dot gnu.org, vries at gcc dot gnu.org
  Target Milestone: ---

Currently, for offloading code, nvptx has

(A) for SIMT

  -msoft-stack-reserve-local=  (default: 128)

  Undocumented in .texi. From .opt:
    msoft-stack-reserve-local=
    Target Joined RejectNegative UInteger Var(nvptx_softstack_size) Init(128)
    Specify size of .local memory used for stack when the exact amount is not
known.

  (For -msoft-stack, see:
   https://gcc.gnu.org/onlinedocs/gcc/Nvidia-PTX-Options.html#index-msoft-stack
)


(B) For non-SIMT, there is (fixed + undocumented):

  nvptx_stacks_size() in libgomp/plugin/plugin-nvptx.c (always returns
128*1024)


I know that for some (program, compiler) combinations, setting
OMP_DEV_STACKSIZE to some higher value is required. (Was required to get a
program running with the xlf compiler with nvptx offload.)


Thus, it seems as if making it settable in GCC is also highly desirable – plus
actually document everything.

Regarding OMP_DEV_... itself, see also the by-device-env-support patch
https://gcc.gnu.org/pipermail/gcc-patches/2022-January/588728.html

Reply via email to