From 1ed5b3487df43a3c0a75a2b843dd87ec8b0f7bad Mon Sep 17 00:00:00 2001 From: Charles Kawczynski Date: Mon, 29 Jan 2024 16:49:40 -0500 Subject: [PATCH 1/2] Ignore more packages in JET tests, lower inf failure limit --- perf/Manifest.toml | 2 +- perf/Project.toml | 1 + perf/jet.jl | 5 ++++- perf/jet_report_nfailures.jl | 7 +++++-- perf/jet_test_nfailures.jl | 9 ++++++--- 5 files changed, 17 insertions(+), 7 deletions(-) diff --git a/perf/Manifest.toml b/perf/Manifest.toml index a6171cdf19..569ff6e7ce 100644 --- a/perf/Manifest.toml +++ b/perf/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.10.0" manifest_format = "2.0" -project_hash = "f4c48efdb4bd69597601a8d0d01e26ff9df53b02" +project_hash = "3c2a77c695622e90d7845846b4e4c54862493742" [[deps.ADTypes]] git-tree-sha1 = "41c37aa88889c171f1300ceac1313c06e891d245" diff --git a/perf/Project.toml b/perf/Project.toml index 590062a076..5e96b6c299 100644 --- a/perf/Project.toml +++ b/perf/Project.toml @@ -5,6 +5,7 @@ AtmosphericProfilesLibrary = "86bc3604-9858-485a-bdbe-831ec50de11d" BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" BlockArrays = "8e7c35d0-a365-5155-bbbb-fb81a777f24e" CLIMAParameters = "6eacf6c3-8458-43b9-ae03-caf5306d3d53" +CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" ClimaAnalysis = "29b5916a-a76c-4e73-9657-3c8fd22e65e6" ClimaAtmos = "b2c96348-7fb7-4fe0-8da9-78d88439e717" diff --git a/perf/jet.jl b/perf/jet.jl index 618547a586..85fd9fe3f9 100644 --- a/perf/jet.jl +++ b/perf/jet.jl @@ -1,5 +1,6 @@ redirect_stderr(IOContext(stderr, :stacktrace_types_limited => Ref(false))) import Random +import HDF5, NCDatasets, CUDA Random.seed!(1234) import ClimaAtmos as CA @@ -15,4 +16,6 @@ import JET import SciMLBase SciMLBase.step!(integrator) # Make sure no errors -JET.@test_opt SciMLBase.step!(integrator) +JET.@test_opt ignored_modules = (HDF5, CUDA, NCDatasets) SciMLBase.step!( + integrator, +) diff --git a/perf/jet_report_nfailures.jl b/perf/jet_report_nfailures.jl index 3399999f86..07ec544be3 100644 --- a/perf/jet_report_nfailures.jl +++ b/perf/jet_report_nfailures.jl @@ -1,10 +1,13 @@ # This script assumes that `integrator` is defined. import JET -import HDF5 +import HDF5, NCDatasets, CUDA # Suggested in: https://github.com/aviatesk/JET.jl/issues/455 macro n_failures(ex) return :( - let result = JET.@report_opt ignored_modules = (HDF5,) $(ex) + let result = + JET.@report_opt ignored_modules = (HDF5, CUDA, NCDatasets) $( + ex + ) length(JET.get_reports(result.analyzer, result.result)) end ) diff --git a/perf/jet_test_nfailures.jl b/perf/jet_test_nfailures.jl index 50c7649d21..3b2f739844 100644 --- a/perf/jet_test_nfailures.jl +++ b/perf/jet_test_nfailures.jl @@ -17,11 +17,14 @@ import JET import SciMLBase SciMLBase.step!(integrator) # Make sure no errors -import HDF5 +import HDF5, NCDatasets, CUDA # Suggested in: https://github.com/aviatesk/JET.jl/issues/455 macro n_failures(ex) return :( - let result = JET.@report_opt ignored_modules = (HDF5,) $(ex) + let result = + JET.@report_opt ignored_modules = (HDF5, NCDatasets, CUDA) $( + ex + ) length(JET.get_reports(result.analyzer, result.result)) end ) @@ -35,7 +38,7 @@ using Test # inference. By increasing this counter, we acknowledge that # we have introduced an inference failure. We hope to drive # this number down to 0. - n_allowed_failures = 94 + n_allowed_failures = 42 @show n @test n ≤ n_allowed_failures if n < n_allowed_failures From 8b4b2ef4818aa944c23f320f5e6b01882dfc381c Mon Sep 17 00:00:00 2001 From: Charles Kawczynski Date: Tue, 30 Jan 2024 20:48:52 -0500 Subject: [PATCH 2/2] Bump allocation limit --- perf/flame.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/perf/flame.jl b/perf/flame.jl index 2538c69626..a79be886fc 100644 --- a/perf/flame.jl +++ b/perf/flame.jl @@ -50,7 +50,7 @@ allocs_limit["flame_perf_target_threaded"] = 1_276_864 allocs_limit["flame_perf_target_callbacks"] = 386_584 allocs_limit["flame_perf_gw"] = 3_268_961_856 allocs_limit["flame_perf_target_prognostic_edmfx_aquaplanet"] = 445_664 -allocs_limit["flame_gpu_implicit_barowave_moist"] = 4169216 +allocs_limit["flame_gpu_implicit_barowave_moist"] = 4178384 # Ideally, we would like to track all the allocations, but this becomes too # expensive there is too many of them. Here, we set the default sample rate to # 1, but lower it to a smaller value when we expect the job to produce lots of