AMReX-Codes / amrex

AMReX: Software Framework for Block Structured AMR
https://amrex-codes.github.io/amrex
Other
546 stars 349 forks source link

Summitdev: Allocate runs out of memory in Microphysics test_react suite with PGI 17.4, GCC 6.3.1 #46

Closed dwillcox closed 7 years ago

dwillcox commented 7 years ago

On OLCF Summitdev, the error arises when running the Microphysics test_react test suite on the cudadevice branch with the gpu branch of amrex using PGI 17.4 configured with GCC 6.3.1 with CUDA Fortran enabled.

The compile line is as follows:

make -j COMP=PGI NDEBUG=t MPI= OMP= ACC= CUDA=t NETWORK_DIR=ignition_reaclib/URCA-simple INTEGRATOR_DIR=VODE90 EOS_DIR=helmholtz

Error:

0: ALLOCATE: 281473269719360 bytes requested; not enough memory

This allocation error originates in amrex/Src/F_BaseLib/knapsack.f90, specifically the function make_box_key that does not properly import the value of dm as the subroutines in the same scope. dm is thus essentially uninitialized and takes a large value, leading the declaration integer :: r(dm) in make_box_key to attempt to allocate this absurd amount of memory.

dwillcox commented 7 years ago

Things that do not fix this issue:

A workaround for this issue:

PR incoming.

maxpkatz commented 7 years ago

Closed by #47