-
Notifications
You must be signed in to change notification settings - Fork 23
Open
Description
When using the batched einsum array context with the prediction driver, the RHS compile produces the following error:
loopy.diagnostic.LoopyIndexError: 'inv_metric_deriv_v_wall[iambient_dim, itopo_dim, iel_47_inner_inner + iel_47_inner_outer*4 + iel_47_outer*1280, 0]' in instruction '_pt_temp_2_store_itopo_dim_idof_74_update' accesses out-of-bounds array element (could not establish '{ [i0, i1, i2, 0] : 0 <= i0 <= 1 and 0 <= i1 <= 1 and 0 <= i2 <= 12390 }' is a subset of '{ [i0, i1, i2, i3] : i3 = 0 and 0 <= i0 <= 1 and 0 <= i1 <= 1 and 0 <= i2 <= 581 }').
When run without -O
, it produces a different (but possibly related) error:
loopy.diagnostic.LoopyError: inames _pt_temp_335_dim0 and iel_47 do not iterate over the same domain
The error persists with most of the physics turned off, as long as species limiting and the main isothermal boundary both remain enabled (note: the actual boundary condition being applied doesn't seem to matter, I've tried both isothermal and DummyBoundary
).
A reduced Y3 case can be installed/run with the instructions below. It creates a RHS DAG of about 100 nodes and runs in a few minutes.
git clone [email protected]:illinois-ceesd/drivers_y3-prediction.git
cd drivers_y3-prediction
git checkout batched-einsum-error-reproducer
./buildMirge.sh --use-ssh
source emirge/config/activate_env.sh
cd smoke_test_ks
python -m mpi4py driver.py -i run_params.yaml --lazy --log
Metadata
Metadata
Assignees
Labels
No labels