Commit 44e3032
committed
Add availability checks for MKL and OpenBLAS similar to AppleAccelerate
This commit adds runtime availability checks for MKL and OpenBLAS libraries
to ensure proper error handling when the libraries are not available. The
implementation follows the same pattern as AppleAccelerateLU:
- Added __mkl_isavailable() function to check MKL library availability
- Added __openblas_isavailable() function to check OpenBLAS library availability
- Added error checks in all getrf!, getrs!, and solve! functions
- Uses Libdl to check for library symbols at runtime
This ensures that calls properly compile out when the binaries are missing
and provides clear error messages when the libraries are not available.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>1 parent 2ff3977 commit 44e3032
2 files changed
+92
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
1 | 3 | | |
2 | 4 | | |
3 | 5 | | |
| |||
8 | 10 | | |
9 | 11 | | |
10 | 12 | | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
11 | 38 | | |
12 | 39 | | |
13 | 40 | | |
14 | 41 | | |
15 | 42 | | |
| 43 | + | |
| 44 | + | |
16 | 45 | | |
17 | 46 | | |
18 | 47 | | |
| |||
33 | 62 | | |
34 | 63 | | |
35 | 64 | | |
| 65 | + | |
| 66 | + | |
36 | 67 | | |
37 | 68 | | |
38 | 69 | | |
| |||
53 | 84 | | |
54 | 85 | | |
55 | 86 | | |
| 87 | + | |
| 88 | + | |
56 | 89 | | |
57 | 90 | | |
58 | 91 | | |
| |||
73 | 106 | | |
74 | 107 | | |
75 | 108 | | |
| 109 | + | |
| 110 | + | |
76 | 111 | | |
77 | 112 | | |
78 | 113 | | |
| |||
94 | 129 | | |
95 | 130 | | |
96 | 131 | | |
| 132 | + | |
| 133 | + | |
97 | 134 | | |
98 | 135 | | |
99 | 136 | | |
| |||
119 | 156 | | |
120 | 157 | | |
121 | 158 | | |
| 159 | + | |
| 160 | + | |
122 | 161 | | |
123 | 162 | | |
124 | 163 | | |
| |||
144 | 183 | | |
145 | 184 | | |
146 | 185 | | |
| 186 | + | |
| 187 | + | |
147 | 188 | | |
148 | 189 | | |
149 | 190 | | |
| |||
169 | 210 | | |
170 | 211 | | |
171 | 212 | | |
| 213 | + | |
| 214 | + | |
172 | 215 | | |
173 | 216 | | |
174 | 217 | | |
| |||
213 | 256 | | |
214 | 257 | | |
215 | 258 | | |
| 259 | + | |
| 260 | + | |
216 | 261 | | |
217 | 262 | | |
218 | 263 | | |
| |||
266 | 311 | | |
267 | 312 | | |
268 | 313 | | |
| 314 | + | |
| 315 | + | |
269 | 316 | | |
270 | 317 | | |
271 | 318 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
1 | 3 | | |
2 | 4 | | |
3 | 5 | | |
| |||
33 | 35 | | |
34 | 36 | | |
35 | 37 | | |
36 | | - | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
37 | 63 | | |
38 | 64 | | |
39 | 65 | | |
40 | 66 | | |
41 | 67 | | |
| 68 | + | |
| 69 | + | |
42 | 70 | | |
43 | 71 | | |
44 | 72 | | |
| |||
59 | 87 | | |
60 | 88 | | |
61 | 89 | | |
| 90 | + | |
| 91 | + | |
62 | 92 | | |
63 | 93 | | |
64 | 94 | | |
| |||
79 | 109 | | |
80 | 110 | | |
81 | 111 | | |
| 112 | + | |
| 113 | + | |
82 | 114 | | |
83 | 115 | | |
84 | 116 | | |
| |||
99 | 131 | | |
100 | 132 | | |
101 | 133 | | |
| 134 | + | |
| 135 | + | |
102 | 136 | | |
103 | 137 | | |
104 | 138 | | |
| |||
120 | 154 | | |
121 | 155 | | |
122 | 156 | | |
| 157 | + | |
| 158 | + | |
123 | 159 | | |
124 | 160 | | |
125 | 161 | | |
| |||
145 | 181 | | |
146 | 182 | | |
147 | 183 | | |
| 184 | + | |
| 185 | + | |
148 | 186 | | |
149 | 187 | | |
150 | 188 | | |
| |||
170 | 208 | | |
171 | 209 | | |
172 | 210 | | |
| 211 | + | |
| 212 | + | |
173 | 213 | | |
174 | 214 | | |
175 | 215 | | |
| |||
195 | 235 | | |
196 | 236 | | |
197 | 237 | | |
| 238 | + | |
| 239 | + | |
198 | 240 | | |
199 | 241 | | |
200 | 242 | | |
| |||
239 | 281 | | |
240 | 282 | | |
241 | 283 | | |
| 284 | + | |
| 285 | + | |
242 | 286 | | |
243 | 287 | | |
244 | 288 | | |
| |||
0 commit comments