spcl / dace

DaCe - Data Centric Parallel Programming
http://dace.is/fast
BSD 3-Clause "New" or "Revised" License
490 stars 122 forks source link

v15 regression: bad codegen #1454

Closed FlorianDeconinck closed 9 months ago

FlorianDeconinck commented 9 months ago

Code generation seems to come up scrambled after v15 on previously working code.

5:17: error: ‘precompute_t’ was not declared in this scope; did you mean ‘precompute’?
  345 |                 precompute_t dace_handle;

Minimal reproducer is to run the Riemann Solver on C-grid numerical regression test on either cpu or gpu backend. Below a script to run on CPU (DaCe version is post #1446)

# Repo is to run the Rieman Solver C regression test
# Original code: pace/fv3core/pace/fv3core/stencils/riem_solver_c.py
# DaCe is applied on the NonhydrostaticVerticalSolverCGrid.__call__ function
# The failing DaCe is in "pace/external/dace"

HOME=$PWD

# Get Pace repository
git clone git@github.com:GEOS-ESM/pace
cd pace
git checkout 911368
git submodule update --recursive --init

# Setup the venv
python -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install external/gt4py/
pip install external/dace/
pip install -r requirements_dev.txt -c constraints.txt
cd external/dace/
git checkout 7ea43c
cd $HOME/pace

# Download data
mkdir -p test_data
cd test_data
wget https://portal.nccs.nasa.gov/datashare/astg/smt/pace-regression-data/8.1.3_c12_6_ranks_standard.RiemSolverC.tar.gz
tar -xzvf 8.1.3_c12_6_ranks_standard.RiemSolverC.tar.gz
cd $HOME/pace

# Run test of RiemSolverC
export FV3_DACEMODE=BuildAndRun
export PACE_CONSTANTS=GFS
pytest -v -s --data_path=./test_data/8.1.3/c12_6ranks_standard/dycore \
       --backend=dace:cpu --which_modules=Riem_Solver_C --which_rank=0 \
       --threshold_overrides_file=./fv3core/tests/savepoint/translate/overrides/standard.yaml \
       ./fv3core/tests/savepoint
FlorianDeconinck commented 9 months ago

Hold on this one - might be on our GT4Py/DaCe bridge

FlorianDeconinck commented 9 months ago

Not on DaCe side.