Giter Site home page Giter Site logo

Comments (3)

tan2 avatar tan2 commented on August 19, 2024

from geoflac.

echoi avatar echoi commented on August 19, 2024

The original error was fixed with an option, -ta=tesla:cc60,managed.
However, another error occurred during compilation of bc_updated.f90:

pgf90 -g -acc=gpu -Mcuda -Minfo=accel -ta=tesla:cc60,managed -O2 -Minfo=all -c bc_update.f90
bc_update:
     18, Generating implicit copyout(force(:,:,:)) [if not already present]
     19, Loop is parallelizable
         Generating Tesla code
         19,   ! blockidx%x threadidx%x auto-collapsed
             !$acc loop gang, vector(128) collapse(3) ! blockidx%x threadidx%x
     23, Accelerator serial kernel generated
         Generating Tesla code
         25, !$acc do seq
         57, !$acc do seq
     23, Generating implicit copyin(force(:,:,1:2)) [if not already present]
         Generating implicit copyout(force(:,nx,1:2)) [if not already present]
         Generating implicit copyin(iphase(:,:)) [if not already present]
         Generating implicit copy(j) [if not already present]
         Generating implicit copyin(cord(:,:,1:2)) [if not already present]
     26, Accelerator restriction: induction variable live-out from loop: j
     28, Accelerator restriction: induction variable live-out from loop: j
     29, Accelerator restriction: induction variable live-out from loop: j
     35, Accelerator restriction: induction variable live-out from loop: j
     36, Accelerator restriction: induction variable live-out from loop: j
     40, Accelerator restriction: induction variable live-out from loop: j
     41, Accelerator restriction: induction variable live-out from loop: j
     45, Accelerator restriction: induction variable live-out from loop: j
     46, Accelerator restriction: induction variable live-out from loop: j
     49, Accelerator restriction: induction variable live-out from loop: j
     58, Accelerator restriction: induction variable live-out from loop: j
     60, Accelerator restriction: induction variable live-out from loop: j
     61, Accelerator restriction: induction variable live-out from loop: j
     68, Accelerator restriction: induction variable live-out from loop: j
     69, Accelerator restriction: induction variable live-out from loop: j
     74, Accelerator restriction: induction variable live-out from loop: j
     75, Accelerator restriction: induction variable live-out from loop: j
     78, Accelerator restriction: induction variable live-out from loop: j
     79, Accelerator restriction: induction variable live-out from loop: j
     82, Accelerator restriction: induction variable live-out from loop: j
     90, Generating implicit copyin(cord(:,:,1:2),nopbou(1:nopbmax,1:4)) [if not already present]
         Generating implicit copy(force(:,:,:)) [if not already present]
         Generating implicit copyin(bcstress(1:nopbmax,1:2)) [if not already present]
     91, Complex loop carried dependence of force prevents parallelization
         Loop carried dependence due to exposed use of force(:,:,:) prevents parallelization
         Accelerator serial kernel generated
         Generating Tesla code
         91, !$acc loop seq
nvvmCompileProgram error 9: NVVM_ERROR_COMPILATION.
Error: /tmp/pgaccA26soObjQ4KE.gpu (1041, 4): parse multiple definition of local value named 'li1167_tca0'
ptxas /tmp/pgacc626sU5dvkTRA.ptx, line 1; fatal   : Missing .version directive at start of file '/tmp/pgacc626sU5dvkTRA.ptx'
ptxas fatal   : Ptx assembly aborted due to errors
NVFORTRAN-F-0155-Compiler failed to translate accelerator region (see -Minfo messages): Device compiler exited with error status code (bc_update.f90: 90)
NVFORTRAN/x86-64 Linux 21.3-0: compilation aborted
make: *** [Makefile:219: bc_update.o] Error 2

According to https://forums.developer.nvidia.com/t/nv-21-3-fails-to-compile-my-openacc-code/176435, NVIDIA HPC SDK 21.3 has some problems including this one. The solution suggested in the nvidia forum did fix the error, which is to add -Mx,231,0x01.

The building is now completed on my machine (see below for specs) but a segmentation fault occurs when the executable is run with examples/subduction.inp.

$ nvidia-smi
Thu May 20 09:53:33 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.73.01    Driver Version: 460.73.01    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce GTX 1080    Off  | 00000000:04:00.0  On |                  N/A |
|  0%   38C    P8     9W / 215W |     78MiB /  8111MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

$ pgf90 -V

pgf90 (aka nvfortran) 21.3-0 LLVM 64-bit target on x86-64 Linux -tp haswell
PGI Compilers and Tools
Copyright (c) 2020, NVIDIA CORPORATION.  All rights reserved.

from geoflac.

echoi avatar echoi commented on August 19, 2024

The issue has been resolved.
NVIDIA SDK 21.2 was tried and found to work. For my GTX-1080 GPU, I had only to change cc70 to cc60 in the compile and linking options.

Although this is a separate issue, I report here that the OpenMP version built with pgf90 crashes during remeshing on my machine. When built with gfortran, however, the OpenMP version works fine.

from geoflac.

Related Issues (2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.