Skip to content

Commit 2ca8e6b

Browse files
Nush395Torax team
authored andcommitted
Add experimental compile to optimizer solver.
Speed test on implicit_short_optimizer config Before: First sim: 13.72s Second sim: 0.23s After w. experimental compile: First sim: 13.18s Second sim: 0.22s After w/o experimental compile: First sim: 13.71s Second sim: 0.21s PiperOrigin-RevId: 774765146
1 parent db05c1b commit 2ca8e6b

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

torax/_src/fvm/optimizer_solve_block.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,12 @@
1515
1616
See function docstring for details.
1717
"""
18-
18+
import functools
1919
from typing import TypeAlias
2020

2121
import jax
2222
from torax._src import state
23+
from torax._src import xnp
2324
from torax._src.config import runtime_params_slice
2425
from torax._src.core_profiles import convertors
2526
from torax._src.fvm import block_1d_coeffs
@@ -39,6 +40,19 @@
3940
AuxiliaryOutput: TypeAlias = block_1d_coeffs.AuxiliaryOutput
4041

4142

43+
@functools.partial(
44+
xnp.jit,
45+
static_argnames=[
46+
'static_runtime_params_slice',
47+
'transport_model',
48+
'source_models',
49+
'neoclassical_models',
50+
'pedestal_model',
51+
'coeffs_callback',
52+
'evolving_names',
53+
'initial_guess_mode',
54+
],
55+
)
4256
def optimizer_solve_block(
4357
dt: jax.Array,
4458
static_runtime_params_slice: runtime_params_slice.StaticRuntimeParamsSlice,

torax/tests/sim_experimental_compile_test.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@ class SimExperimentalCompileTest(sim_test_case.SimTestCase):
4141
'test_iterhybrid_predictor_corrector',
4242
'test_iterhybrid_predictor_corrector.py',
4343
),
44+
# Using optimizer solver.
45+
(
46+
'test_implicit_short_optimizer',
47+
'test_implicit_short_optimizer.py',
48+
),
4449
)
4550
def test_run_simulation_experimental_compile(
4651
self,

0 commit comments

Comments
 (0)