Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update DaCe to 0.15.1 RC #35

Merged
merged 70 commits into from
Dec 5, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
6d78659
Initialize GeosDycoreWrapper with bdt (timestep)
pchakraborty Jan 27, 2023
0a3e857
Use GEOS version of constants
pchakraborty Jan 27, 2023
0a8d705
1. Add qcld to the list of tracers beings advected
pchakraborty Jan 27, 2023
3b73d71
Accumulate diss_est
pchakraborty Jan 27, 2023
a68d160
Allow GEOS_WRAPPER to process device data
FlorianDeconinck Feb 24, 2023
33ba53f
Add clear to collector for 3rd party use. GEOS pass down timings to c…
FlorianDeconinck Feb 28, 2023
8968698
Merge branch 'geos/main' into opt_geos_wrapper_bridge
FlorianDeconinck Mar 1, 2023
2327cbe
Make kernel analysis run a copy stencil to compute local bandwith
FlorianDeconinck Mar 3, 2023
cb4ec5f
Move constant on a env var
FlorianDeconinck Mar 3, 2023
7348922
lint
FlorianDeconinck Mar 3, 2023
e234d16
lint
FlorianDeconinck Mar 3, 2023
131a2af
More linting
FlorianDeconinck Mar 3, 2023
dce3fb7
Merge branch 'opt_geos_wrapper_bridge' into debug/pchakrab/aquaplanet…
FlorianDeconinck Mar 3, 2023
8982542
Remove unused if leading to empty code block
FlorianDeconinck Mar 6, 2023
da2f902
Restrict dace to 0.14.1 due to a parsing bug
FlorianDeconinck Mar 6, 2023
f2799d8
Merge branch 'feature/dace_debug' into debug/pchakrab/aquaplanet/root…
FlorianDeconinck Mar 6, 2023
27fae1c
Add guard for bdt==0
FlorianDeconinck Mar 7, 2023
2f8ebac
Remove unused code
FlorianDeconinck Mar 7, 2023
5d9e0a0
Merge branch 'feature/dace_debug' into opt_geos_wrapper_bridge
FlorianDeconinck Mar 27, 2023
b8edbf2
Merge remote-tracking branch 'nasa/feature/kernel_bw_tool' into opt_g…
FlorianDeconinck Mar 27, 2023
f54b231
Merge branch 'opt_geos_wrapper_bridge' into debug/pchakrab/aquaplanet…
FlorianDeconinck Mar 27, 2023
81d00ce
Fix theroritical timings
FlorianDeconinck Mar 28, 2023
4891d56
Fixed a bug where pkz was being calculated twice, and the second calc…
pchakraborty Apr 7, 2023
fafbfc7
Downgrade DaCe to 0.14.0 pending array aliasing fix
FlorianDeconinck Apr 10, 2023
4fc5b4d
Set default cache path for orchestrated DaCe to respect GT_CACHE_* env
FlorianDeconinck Apr 10, 2023
2245027
Remove previous per stencil override of default_build_folder
FlorianDeconinck Apr 11, 2023
4f8fdc3
Revert "Set default cache path for orchestrated DaCe to respect GT_CA…
FlorianDeconinck Apr 11, 2023
47421a0
Revert "Remove previous per stencil override of default_build_folder"
FlorianDeconinck Apr 11, 2023
d51bc11
Read cache_root in default dace backend
FlorianDeconinck Apr 11, 2023
6bdd595
Document faulty behavior with GT_CACHE_DIR_NAME
FlorianDeconinck Apr 11, 2023
80cbb01
Fix bad requirements syntax
FlorianDeconinck Apr 13, 2023
40f2440
Check for the string value of CONST_VERSION directly instead of enum
pchakraborty Apr 14, 2023
cae25a9
Protect constant selection more rigorusly.
FlorianDeconinck Apr 20, 2023
915993e
Log constants selection
FlorianDeconinck Apr 20, 2023
c3e355c
Refactor NQ to constants.py
FlorianDeconinck Apr 20, 2023
08f6e68
Merge pull request #11 from GEOS-ESM/debug/pchakrab/aquaplanet/root-3…
FlorianDeconinck Apr 20, 2023
cde11e8
Replace all logger with pace_log
FlorianDeconinck May 2, 2023
9e6bbb6
Code guidelines clean up
FlorianDeconinck May 2, 2023
6695cec
Merge pull request #13 from GEOS-ESM/feature/logger
pchakraborty May 2, 2023
7e449cd
Devops/GitHub actions on (#15)
FlorianDeconinck Jun 21, 2023
e40d356
Distributed compilation on orchestrated backend for NxN layouts (#14)
FlorianDeconinck Jun 21, 2023
286ad00
Added ak, bk for 137 levels in eta.py
pchakraborty Jun 25, 2023
fea7ae6
Merge branch 'geos/main' into geos/develop
FlorianDeconinck Jun 28, 2023
c1e011c
Add floating point precision to GEOS bridge init
FlorianDeconinck Jul 6, 2023
c58a2a1
lint
FlorianDeconinck Jul 6, 2023
8e362a2
Add device PCI bus id (for MPS debug)
FlorianDeconinck Jul 7, 2023
adc5ee5
Typo + lint
FlorianDeconinck Jul 7, 2023
a306e66
Merge remote-tracking branch 'NOAA/main' into geos/main
FlorianDeconinck Aug 1, 2023
39ff8ea
Try to detect MPS reading the "log" pipe
FlorianDeconinck Aug 3, 2023
f2d171d
Lint
FlorianDeconinck Aug 8, 2023
ac70398
Clean up
FlorianDeconinck Aug 8, 2023
0a4163f
Log info GEOS bridge (#18)
FlorianDeconinck Aug 8, 2023
e1f8a94
Merge pull request #22 from GEOS-ESM/feature/bridge_info
FlorianDeconinck Aug 15, 2023
9d6d2f9
Update geos/develop to grab NOAA PR9 results (#21)
FlorianDeconinck Aug 15, 2023
2031b9e
[NOAA:Update] Bring back #15 & doubly periodic domain (#25)
FlorianDeconinck Aug 23, 2023
b579437
Merge branch 'geos/main' into geos/develop
FlorianDeconinck Aug 23, 2023
4f8e6b5
Update gt4py, dace, cleanup (#19)
FlorianDeconinck Aug 23, 2023
e11a5ed
DaCE module: swap SSH for HTTPS (#26)
FlorianDeconinck Aug 24, 2023
0ba419a
GEOS GridTools stencils build override (#27)
FlorianDeconinck Sep 8, 2023
7288db4
Merge remote-tracking branch 'NASA/main' into geos/main
FlorianDeconinck Sep 12, 2023
ae32d43
Merge branch 'geos/main' into geos/develop
FlorianDeconinck Sep 12, 2023
517e162
Merge remote-tracking branch 'NASA/geos/develop' into geos/develop
FlorianDeconinck Sep 12, 2023
54b070f
Merge branch 'geos/develop' into geos/main
FlorianDeconinck Sep 12, 2023
557a60b
Bad merge (again)
FlorianDeconinck Sep 12, 2023
ebf0d48
Merge branch 'geos/develop' into geos/main
FlorianDeconinck Sep 12, 2023
7896f63
Merge remote-tracking branch 'NOAA/main' into geos/main
FlorianDeconinck Sep 15, 2023
ede9fef
Merge branch 'NOAA-GFDL:main' into geos/main
FlorianDeconinck Nov 6, 2023
425371a
NASA fork sync. (#37) (#30)
FlorianDeconinck Nov 7, 2023
520b0a9
Merge branch 'NOAA-GFDL:main' into geos/main
FlorianDeconinck Nov 7, 2023
eb31475
Develop sync (#34)
FlorianDeconinck Dec 5, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 9 additions & 16 deletions dsl/pace/dsl/dace/orchestration.py
Original file line number Diff line number Diff line change
Expand Up @@ -175,9 +175,8 @@ def _build_sdfg(
memory_pooled += arr.total_size * arr.dtype.bytes
arr.lifetime = dace.AllocationLifetime.Scope
memory_pooled = float(memory_pooled) / (1024 * 1024)
DaCeProgress.log(
DaCeProgress.default_prefix(config),
f"Pooled {memory_pooled} mb",
pace_log.debug(
f"{DaCeProgress.default_prefix(config)} Pooled {memory_pooled} mb",
)

# Set of debug tools inserted in the SDFG when dace.conf "syncdebug"
Expand All @@ -195,12 +194,10 @@ def _build_sdfg(

# Printing analysis of the compiled SDFG
with DaCeProgress(config, "Build finished. Running memory static analysis"):
DaCeProgress.log(
DaCeProgress.default_prefix(config),
report_memory_static_analysis(
sdfg, memory_static_analysis(sdfg), False
),
report = report_memory_static_analysis(
sdfg, memory_static_analysis(sdfg), False
)
pace_log.info(f"{DaCeProgress.default_prefix(config)} {report}")

# Compilation done.
# On Build: all ranks sync, then exit.
Expand All @@ -211,17 +208,13 @@ def _build_sdfg(
# a true multi-machine sync, outside of our own communicator class.
if config.get_orchestrate() == DaCeOrchestration.Build:
MPI.COMM_WORLD.Barrier() # Protect against early exist which kill SLURM jobs
DaCeProgress.log(
DaCeProgress.default_prefix(config),
"Build only, exiting.",
)
pace_log.info(f"{DaCeProgress.default_prefix(config)} Build only, exiting.")
exit(0)
elif config.get_orchestrate() == DaCeOrchestration.BuildAndRun:
if not is_compiling:
DaCeProgress.log(
DaCeProgress.default_prefix(config),
"Rank is not compiling. "
"Waiting for compilation to end on all other ranks...",
pace_log.info(
f"{DaCeProgress.default_prefix(config)} Rank is not compiling."
"Waiting for compilation to end on all other ranks..."
)
MPI.COMM_WORLD.Barrier()

Expand Down
8 changes: 2 additions & 6 deletions dsl/pace/dsl/dace/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,17 @@ def __init__(self, config: DaceConfig, label: str):
self.prefix = f"[{config.get_orchestrate()}]"
self.label = label

@classmethod
def log(cls, prefix: str, message: str):
pace_log.debug(f"{prefix} {message}")

@classmethod
def default_prefix(cls, config: DaceConfig) -> str:
return f"[{config.get_orchestrate()}]"

def __enter__(self):
DaCeProgress.log(self.prefix, f"{self.label}...")
pace_log.debug(self.prefix, f"{self.label}...")
self.start = time.time()

def __exit__(self, _type, _val, _traceback):
elapsed = time.time() - self.start
DaCeProgress.log(self.prefix, f"{self.label}...{elapsed}s.")
pace_log.debug(self.prefix, f"{self.label}...{elapsed}s.")


def _is_ref(sd: dace.sdfg.SDFG, aname: str):
Expand Down
2 changes: 1 addition & 1 deletion external/dace
Submodule dace updated 189 files
2 changes: 1 addition & 1 deletion external/gt4py
Submodule gt4py updated 161 files
3 changes: 2 additions & 1 deletion fv3core/tests/savepoint/translate/translate_a2b_ord4.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def __call__(
vort,
delpc,
dt,
grid_type,
grid_type: int,
):
# this function is kept because it has a translate test, if its
# structure is changed significantly from __call__ of DivergenceDamping
Expand Down Expand Up @@ -80,5 +80,6 @@ def compute_from_storage(self, inputs):
nord_col,
nord_col,
)
inputs["grid_type"] = 0
self.compute_obj(divdamp, **inputs)
return inputs