Skip to content

Commit 26d8408

Browse files
authored
Merge branch 'main' into feat/linuxArm
2 parents 73a24a5 + 68f20cc commit 26d8408

File tree

12 files changed

+0
-1322
lines changed

12 files changed

+0
-1322
lines changed

CMakeLists.txt

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -57,27 +57,6 @@ if (${PYBAMM_IDAKLU_EXPR_CASADI} STREQUAL "ON")
5757
)
5858
endif ()
5959

60-
# Check IREE build flag
61-
if (NOT DEFINED PYBAMM_IDAKLU_EXPR_IREE)
62-
set(PYBAMM_IDAKLU_EXPR_IREE OFF)
63-
endif ()
64-
message("PYBAMM_IDAKLU_EXPR_IREE: ${PYBAMM_IDAKLU_EXPR_IREE}")
65-
66-
# IREE (MLIR expression evaluation) PyBaMM source files
67-
set(IDAKLU_EXPR_IREE_SOURCE_FILES "")
68-
if (${PYBAMM_IDAKLU_EXPR_IREE} STREQUAL "ON")
69-
add_compile_definitions(IREE_ENABLE)
70-
# Source file list
71-
set(IDAKLU_EXPR_IREE_SOURCE_FILES
72-
src/pybammsolvers/idaklu_source/Expressions/IREE/iree_jit.cpp
73-
src/pybammsolvers/idaklu_source/Expressions/IREE/iree_jit.hpp
74-
src/pybammsolvers/idaklu_source/Expressions/IREE/IREEFunctions.cpp
75-
src/pybammsolvers/idaklu_source/Expressions/IREE/IREEFunctions.hpp
76-
src/pybammsolvers/idaklu_source/Expressions/IREE/ModuleParser.cpp
77-
src/pybammsolvers/idaklu_source/Expressions/IREE/ModuleParser.hpp
78-
)
79-
endif ()
80-
8160
# The complete (all dependencies) sources list should be mirrored in setup.py
8261
pybind11_add_module(idaklu
8362
# pybind11 interface
@@ -113,7 +92,6 @@ pybind11_add_module(idaklu
11392
src/pybammsolvers/idaklu_source/Expressions/Base/ExpressionTypes.hpp
11493
# IDAKLU expressions - concrete implementations
11594
${IDAKLU_EXPR_CASADI_SOURCE_FILES}
116-
${IDAKLU_EXPR_IREE_SOURCE_FILES}
11795
)
11896

11997
if (NOT DEFINED USE_PYTHON_CASADI)
@@ -184,16 +162,3 @@ else ()
184162
endif ()
185163
include_directories(${SuiteSparse_INCLUDE_DIRS})
186164
target_link_libraries(idaklu PRIVATE ${SuiteSparse_LIBRARIES})
187-
188-
# IREE (MLIR compiler and runtime library) build settings
189-
if (${PYBAMM_IDAKLU_EXPR_IREE} STREQUAL "ON")
190-
set(IREE_BUILD_COMPILER ON)
191-
set(IREE_BUILD_TESTS OFF)
192-
set(IREE_BUILD_SAMPLES OFF)
193-
add_subdirectory(iree EXCLUDE_FROM_ALL)
194-
set(IREE_COMPILER_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/iree/compiler")
195-
target_include_directories(idaklu SYSTEM PRIVATE "${IREE_COMPILER_ROOT}/bindings/c/iree/compiler")
196-
target_compile_options(idaklu PRIVATE ${IREE_DEFAULT_COPTS})
197-
target_link_libraries(idaklu PRIVATE iree_compiler_bindings_c_loader)
198-
target_link_libraries(idaklu PRIVATE iree_runtime_runtime)
199-
endif ()

noxfile.py

Lines changed: 0 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import nox
22
import os
33
import sys
4-
import warnings
5-
import platform
64
from pathlib import Path
75

86

@@ -13,55 +11,13 @@
1311
else:
1412
nox.options.sessions = ["unit"]
1513

16-
17-
def set_iree_state():
18-
"""
19-
Check if IREE is enabled and set the environment variable accordingly.
20-
21-
Returns
22-
-------
23-
str
24-
"ON" if IREE is enabled, "OFF" otherwise.
25-
26-
"""
27-
state = "ON" if os.getenv("PYBAMM_IDAKLU_EXPR_IREE", "OFF") == "ON" else "OFF"
28-
if state == "ON":
29-
if sys.platform == "win32":
30-
warnings.warn(
31-
(
32-
"IREE is not enabled on Windows yet. "
33-
"Setting PYBAMM_IDAKLU_EXPR_IREE=OFF."
34-
),
35-
stacklevel=2,
36-
)
37-
return "OFF"
38-
if sys.platform == "darwin":
39-
# iree-compiler is currently only available as a wheel on macOS 13 (or
40-
# higher) and Python version 3.11
41-
mac_ver = int(platform.mac_ver()[0].split(".")[0])
42-
if (not sys.version_info[:2] == (3, 11)) or mac_ver < 13:
43-
warnings.warn(
44-
(
45-
"IREE is only supported on MacOS 13 (or higher) and Python"
46-
"version 3.11. Setting PYBAMM_IDAKLU_EXPR_IREE=OFF."
47-
),
48-
stacklevel=2,
49-
)
50-
return "OFF"
51-
return state
52-
53-
5414
homedir = Path(__file__)
5515
PYBAMM_ENV = {
5616
"LD_LIBRARY_PATH": f"{homedir}/.idaklu/lib",
5717
"PYTHONIOENCODING": "utf-8",
5818
"MPLBACKEND": "Agg",
5919
# Expression evaluators (...EXPR_CASADI cannot be fully disabled at this time)
6020
"PYBAMM_IDAKLU_EXPR_CASADI": os.getenv("PYBAMM_IDAKLU_EXPR_CASADI", "ON"),
61-
"PYBAMM_IDAKLU_EXPR_IREE": set_iree_state(),
62-
"IREE_INDEX_URL": os.getenv(
63-
"IREE_INDEX_URL", "https://iree.dev/pip-release-links.html"
64-
),
6521
}
6622
VENV_DIR = Path("./venv").resolve()
6723

@@ -89,29 +45,6 @@ def run_pybamm_requires(session):
8945
set_environment_variables(PYBAMM_ENV, session=session)
9046
if sys.platform != "win32":
9147
session.run("python", "install_KLU_Sundials.py", *session.posargs)
92-
if PYBAMM_ENV.get("PYBAMM_IDAKLU_EXPR_IREE") == "ON" and not os.path.exists(
93-
"./iree"
94-
):
95-
session.run(
96-
"git",
97-
"clone",
98-
"--depth=1",
99-
"--recurse-submodules",
100-
"--shallow-submodules",
101-
"--branch=candidate-20240507.886",
102-
"https://github.com/openxla/iree",
103-
"iree/",
104-
external=True,
105-
)
106-
with session.chdir("iree"):
107-
session.run(
108-
"git",
109-
"submodule",
110-
"update",
111-
"--init",
112-
"--recursive",
113-
external=True,
114-
)
11548
else:
11649
session.error("nox -s idaklu-requires is only available on Linux & macOS.")
11750

@@ -122,12 +55,4 @@ def run_unit(session):
12255
session.install("setuptools", silent=False)
12356
session.install("casadi==3.6.7", silent=False)
12457
session.install(".[dev]", silent=False)
125-
if PYBAMM_ENV.get("PYBAMM_IDAKLU_EXPR_IREE") == "ON":
126-
# See comments in 'dev' session
127-
session.install(
128-
".[iree]",
129-
"--find-links",
130-
PYBAMM_ENV.get("IREE_INDEX_URL"),
131-
silent=False,
132-
)
13358
session.run("pytest", "tests")

setup.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,11 @@ def run(self):
9292

9393
build_type = os.getenv("PYBAMM_CPP_BUILD_TYPE", "Release")
9494
idaklu_expr_casadi = os.getenv("PYBAMM_IDAKLU_EXPR_CASADI", "ON")
95-
idaklu_expr_iree = os.getenv("PYBAMM_IDAKLU_EXPR_IREE", "OFF")
9695
cmake_args = [
9796
f"-DCMAKE_BUILD_TYPE={build_type}",
9897
f"-DPYTHON_EXECUTABLE={sys.executable}",
9998
"-DUSE_PYTHON_CASADI={}".format("TRUE" if use_python_casadi else "FALSE"),
10099
f"-DPYBAMM_IDAKLU_EXPR_CASADI={idaklu_expr_casadi}",
101-
f"-DPYBAMM_IDAKLU_EXPR_IREE={idaklu_expr_iree}",
102100
]
103101
if self.suitesparse_root:
104102
cmake_args.append(
@@ -244,14 +242,6 @@ def run(self):
244242
"src/pybammsolvers/idaklu_source/Expressions/Base/ExpressionSparsity.hpp",
245243
"src/pybammsolvers/idaklu_source/Expressions/Casadi/CasadiFunctions.cpp",
246244
"src/pybammsolvers/idaklu_source/Expressions/Casadi/CasadiFunctions.hpp",
247-
"src/pybammsolvers/idaklu_source/Expressions/IREE/IREEBaseFunction.hpp",
248-
"src/pybammsolvers/idaklu_source/Expressions/IREE/IREEFunction.hpp",
249-
"src/pybammsolvers/idaklu_source/Expressions/IREE/IREEFunctions.cpp",
250-
"src/pybammsolvers/idaklu_source/Expressions/IREE/IREEFunctions.hpp",
251-
"src/pybammsolvers/idaklu_source/Expressions/IREE/iree_jit.cpp",
252-
"src/pybammsolvers/idaklu_source/Expressions/IREE/iree_jit.hpp",
253-
"src/pybammsolvers/idaklu_source/Expressions/IREE/ModuleParser.cpp",
254-
"src/pybammsolvers/idaklu_source/Expressions/IREE/ModuleParser.hpp",
255245
"src/pybammsolvers/idaklu_source/idaklu_solver.hpp",
256246
"src/pybammsolvers/idaklu_source/IDAKLUSolver.cpp",
257247
"src/pybammsolvers/idaklu_source/IDAKLUSolver.hpp",

src/pybammsolvers/idaklu.cpp

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,6 @@
1515
#include "idaklu_source/common.hpp"
1616
#include "idaklu_source/Expressions/Casadi/CasadiFunctions.hpp"
1717

18-
#ifdef IREE_ENABLE
19-
#include "idaklu_source/Expressions/IREE/IREEFunctions.hpp"
20-
#endif
21-
2218

2319
casadi::Function generate_casadi_function(const std::string &data)
2420
{
@@ -96,34 +92,6 @@ PYBIND11_MODULE(idaklu, m)
9692
py::arg("shape"),
9793
py::return_value_policy::take_ownership);
9894

99-
#ifdef IREE_ENABLE
100-
m.def("create_iree_solver_group", &create_idaklu_solver_group<IREEFunctions>,
101-
"Create a group of iree idaklu solver objects",
102-
py::arg("number_of_states"),
103-
py::arg("number_of_parameters"),
104-
py::arg("rhs_alg"),
105-
py::arg("jac_times_cjmass"),
106-
py::arg("jac_times_cjmass_colptrs"),
107-
py::arg("jac_times_cjmass_rowvals"),
108-
py::arg("jac_times_cjmass_nnz"),
109-
py::arg("jac_bandwidth_lower"),
110-
py::arg("jac_bandwidth_upper"),
111-
py::arg("jac_action"),
112-
py::arg("mass_action"),
113-
py::arg("sens"),
114-
py::arg("events"),
115-
py::arg("number_of_events"),
116-
py::arg("rhs_alg_id"),
117-
py::arg("atol"),
118-
py::arg("rtol"),
119-
py::arg("inputs"),
120-
py::arg("var_fcns"),
121-
py::arg("dvar_dy_fcns"),
122-
py::arg("dvar_dp_fcns"),
123-
py::arg("options"),
124-
py::return_value_policy::take_ownership);
125-
#endif
126-
12795
m.def("generate_function", &generate_casadi_function,
12896
"Generate a casadi function",
12997
py::arg("string"),
@@ -174,20 +142,6 @@ PYBIND11_MODULE(idaklu, m)
174142

175143
py::class_<casadi::Function>(m, "Function");
176144

177-
#ifdef IREE_ENABLE
178-
py::class_<IREEBaseFunctionType>(m, "IREEBaseFunctionType")
179-
.def(py::init<>())
180-
.def_readwrite("mlir", &IREEBaseFunctionType::mlir)
181-
.def_readwrite("kept_var_idx", &IREEBaseFunctionType::kept_var_idx)
182-
.def_readwrite("nnz", &IREEBaseFunctionType::nnz)
183-
.def_readwrite("numel", &IREEBaseFunctionType::numel)
184-
.def_readwrite("col", &IREEBaseFunctionType::col)
185-
.def_readwrite("row", &IREEBaseFunctionType::row)
186-
.def_readwrite("pytree_shape", &IREEBaseFunctionType::pytree_shape)
187-
.def_readwrite("pytree_sizes", &IREEBaseFunctionType::pytree_sizes)
188-
.def_readwrite("n_args", &IREEBaseFunctionType::n_args);
189-
#endif
190-
191145
py::class_<Solution>(m, "solution")
192146
.def_readwrite("t", &Solution::t)
193147
.def_readwrite("y", &Solution::y)

src/pybammsolvers/idaklu_source/Expressions/IREE/IREEBaseFunction.hpp

Lines changed: 0 additions & 27 deletions
This file was deleted.

src/pybammsolvers/idaklu_source/Expressions/IREE/IREEFunction.hpp

Lines changed: 0 additions & 59 deletions
This file was deleted.

0 commit comments

Comments
 (0)