External Issue: chpl__gpu.fatbin not generated

18850, "Eifoen", "chpl__gpu.fatbin not generated", "2021-12-13T12:44:07Z"

Summary of Problem

The .fatbin with the CUDA-Kernel is not compiled

Steps to Reproduce

Chapel Build

Commit: 236ab577ff0042cca70b77c66f98b541bd470bb5

Env (as printed by configure)

Compiling Python scripts in util/

Currently selected Chapel configuration:

CHPL_TARGET_PLATFORM: linux64
CHPL_TARGET_COMPILER: llvm
CHPL_TARGET_ARCH: x86_64
CHPL_TARGET_CPU: unknown
CHPL_LOCALE_MODEL: gpu *
CHPL_COMM: gasnet *
CHPL_COMM_SUBSTRATE: udp
CHPL_GASNET_SEGMENT: everything
CHPL_TASKS: qthreads *
CHPL_LAUNCHER: amudprun
CHPL_TIMERS: generic
CHPL_UNWIND: none
CHPL_MEM: jemalloc *
CHPL_ATOMICS: cstdlib
CHPL_NETWORK_ATOMICS: none
CHPL_GMP: none *
CHPL_HWLOC: bundled
CHPL_RE2: none *
CHPL_LLVM: bundled *
CHPL_AUX_FILESYS: none

additionally (not printed by configure):
CHPL_RT_NUM_THREADS_PER_LOCALE=1

CUDA Version (as printed by nvidia-smi):

==============NVSMI LOG==============

Timestamp : Mon Dec 13 12:20:14 2021
Driver Version : 430.50
CUDA Version : 10.1

Attached GPUs : 1
GPU 00000000:01:00.0
Product Name : GeForce GTX 1060 6GB
Product Brand : GeForce
Display Mode : Enabled
Display Active : Enabled
Persistence Mode : Disabled
Accounting Mode : Disabled

Source Code:

hello6-taskpar-dist.chpl as of 5eae51fa912754cf77a9586ddb5c4839ef4e05b1

aswell as the jacobi example from the doc

config const nSteps = 10;
config const n = 10;

writeln("on GPU:");
jacobi(here.getChild(1));
writeln("on CPU:");
jacobi(here);

proc jacobi(loc) {
  on loc {
    var A, B: [0..n+1] real;

    A[0] = 1; A[n+1] = 1;
    forall i in 1..n { A[i] = i:real; }

    for step in 1..nSteps {
      forall i in 1..n { B[i] = 0.33333 * (A[i-1] + A[i] + A[i+1]); }
      forall i in 1..n { A[i] = 0.33333 * (B[i-1] + B[i] + B[i+1]); }
    }
    writeln(A);
  }
}

Compile command

make check

chpl ./jacobi.chpl -o jacobi

Execution Command

does not apply

Configuration Information

chpl --version:

warning: The prototype GPU support implies --no-checks. This may impact debuggability. To suppress this warning, compile with --no-checks explicitly
chpl version 1.26.0 pre-release (0)
  built with LLVM version 11.0.1
Copyright 2020-2021 Hewlett Packard Enterprise Development LP
Copyright 2004-2019 Cray Inc.
(See LICENSE file for more details)

printchplenv:
as described above

gcc --version:

gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Expected

  • passing make check
  • compiled jacobi and jacobi_real aswell as a jacobi_gpu_files folder with chpl__gpu.fatbin

Actual

make check output:

make check is not passing at:

> [Info] Running minimal test script: $CHPL_HOME/util/test/checkChplInstall
[Info] Found executable chpl in /tmp/chapel-main//bin/linux64-x86_64/chpl.
[Info] Found $CHPL_HOME directory: /tmp/chapel-main
[Info] /home/user/.chpl does not exist. Creating it.
[Info] Temporary test job directory: /home/user/.chpl/chapel-test-Her2V
[Info] Compiling $CHPL_HOME/test/release/examples/hello6-taskpar-dist.chpl
[Info] Compiling with CHPL_TARGET_COMPILER=llvm
[Fail] Test job failed to compile - Chapel is not installed correctly
[Fail] Compilation output:
warning: The prototype GPU support implies --no-checks. This may impact debuggability. To suppress this warning, compile with --no-checks explicitly
internal error: UTI-MIS-0923 chpl version 1.26.0 pre-release (0)
>
>Internal errors indicate a bug in the Chapel compiler ("It's us, not you"),
and we're sorry for the hassle.  We would appreciate your reporting this bug --
please see https://chapel-lang.org/bugs.html for instructions.  In the meantime,
the filename + line number above may be useful in working around the issue.
>
>error: opening /tmp/chpl-user.deleteme-V8blce/chpl__gpu.fatbin: No such file or directory
Makefile:210: recipe for target 'check' failed
make: *** [check] Error 1

jacobi.chpl output:

warning: The prototype GPU support implies --no-checks. This may impact debuggability. To suppress this warning, compile with --no-checks explicitly
internal error: UTI-MIS-0923 chpl version 1.26.0 pre-release (0)

Internal errors indicate a bug in the Chapel compiler ("It's us, not you"),
and we're sorry for the hassle.  We would appreciate your reporting this bug --
please see https://chapel-lang.org/bugs.html for instructions.  In the meantime,
the filename + line number above may be useful in working around the issue.

error: opening /tmp/chpl-user.deleteme-hGAojs/chpl__gpu.fatbin: No such file or directory

no binaries to be found. Even with the hello.chpl example, which still complains about the missing chpl_gpu.fatbin .