From e296ce7e1e8ac20b8ecf2cd9596a19c860a73be5 Mon Sep 17 00:00:00 2001 From: Elliot Saba Date: Tue, 20 Sep 2022 09:49:08 -0700 Subject: [PATCH] Limit initial OpenBLAS thread count We set OpenBLAS's initial thread count to `1` to prevent runaway allocation within OpenBLAS's initial thread startup. LinearAlgebra will later call `BLAS.set_num_threads()` to the actual value we require. --- deps/checksums/openblas | 184 +++++++++--------- deps/openblas.mk | 7 +- .../openblas-default-num-threads.patch | 51 +++++ stdlib/OpenBLAS_jll/Project.toml | 2 +- stdlib/OpenBLAS_jll/src/OpenBLAS_jll.jl | 5 + 5 files changed, 155 insertions(+), 94 deletions(-) create mode 100644 deps/patches/openblas-default-num-threads.patch diff --git a/deps/checksums/openblas b/deps/checksums/openblas index 5c9194f5dd404f..d880dd44b4c716 100644 --- a/deps/checksums/openblas +++ b/deps/checksums/openblas @@ -1,94 +1,94 @@ -OpenBLAS.v0.3.21+0.aarch64-apple-darwin-libgfortran5.tar.gz/md5/a89e1eeae1d9539c21598c98da5ac91c -OpenBLAS.v0.3.21+0.aarch64-apple-darwin-libgfortran5.tar.gz/sha512/181334363669482ac78b17ed9797ecc62ead35c07348eddd674c06252a7b36a356db48c62da77e73072df4cc21d0c25e0fb568c4dc7fe98e5db8e0f76eed7183 -OpenBLAS.v0.3.21+0.aarch64-linux-gnu-libgfortran3.tar.gz/md5/7ed3100359f9ed7da4959ecee3b4fd1e -OpenBLAS.v0.3.21+0.aarch64-linux-gnu-libgfortran3.tar.gz/sha512/329e26dae7f2e5ba81ba2271257c03426a349b89831147458a71d91da062bd11fab1b846f77922f3bc65a9f7d3b1914f15aaa0c14f696ba7bf43b55628a5464d -OpenBLAS.v0.3.21+0.aarch64-linux-gnu-libgfortran4.tar.gz/md5/ae71b44c62d42c246a21385d0691dcfa -OpenBLAS.v0.3.21+0.aarch64-linux-gnu-libgfortran4.tar.gz/sha512/0598da4b6410f59a69690e6908c80724df4a8c4761194993c1b127f84418f046d8fa0d367fda8a7faed5cec2d6c57bd8872ba216e38b5418bc9ff20af27528c6 -OpenBLAS.v0.3.21+0.aarch64-linux-gnu-libgfortran5.tar.gz/md5/fff9e118d250bebd55723e77c492280c -OpenBLAS.v0.3.21+0.aarch64-linux-gnu-libgfortran5.tar.gz/sha512/29d831f773cb6a75119c7cc2363fd72d38e32eaef6124505f8b5a1b64fa3ae7a6ffe199aae851de0893259d3bdc480aa377294688ee55d20f0da7dfc49fce747 -OpenBLAS.v0.3.21+0.aarch64-linux-musl-libgfortran3.tar.gz/md5/e93af05f98be926b3000dac3accf5f56 -OpenBLAS.v0.3.21+0.aarch64-linux-musl-libgfortran3.tar.gz/sha512/de3e9cee786d1a37dd5807aca81728d67d60fdace68aa17c69efcc7ebfe36dd3a240dea16f7cd3c5021f0f967f15f1154a3d32350f91165a9fcdd08285917196 -OpenBLAS.v0.3.21+0.aarch64-linux-musl-libgfortran4.tar.gz/md5/5a0226c6781c748a8f4d144b0ae4609b -OpenBLAS.v0.3.21+0.aarch64-linux-musl-libgfortran4.tar.gz/sha512/83d9ff97a5651b682ee1839cf0e1aa8dcd7c2e2d32b6cadb184b8d71123649a31519516b1c7d98c329ab9902538a01ffc14ec28f95ada35ba8da77241d74c2d2 -OpenBLAS.v0.3.21+0.aarch64-linux-musl-libgfortran5.tar.gz/md5/f09c8409b0f4e5e3ee9d471538289e45 -OpenBLAS.v0.3.21+0.aarch64-linux-musl-libgfortran5.tar.gz/sha512/b41234be953779db6601d5bffe43ab9ea23bb542583b16af48fe3a3400b1e50b45d3c91152895c92f6a1f4844ac018c8003f0fd10e9473c503e70e9fc4ad11b0 -OpenBLAS.v0.3.21+0.armv6l-linux-gnueabihf-libgfortran3.tar.gz/md5/78ea013e0ba52d289c919df3d5b79946 -OpenBLAS.v0.3.21+0.armv6l-linux-gnueabihf-libgfortran3.tar.gz/sha512/50ffb9d99d283db2880e767a3ebedbdc7ca67b18782717f5085e0cfc9f6cc55bdeb112e8dca0011e31954a22272936043ca538204fc9be81cb7a0f22d6726f12 -OpenBLAS.v0.3.21+0.armv6l-linux-gnueabihf-libgfortran4.tar.gz/md5/47d016b3a50c0c9b2ed1eb5e49904169 -OpenBLAS.v0.3.21+0.armv6l-linux-gnueabihf-libgfortran4.tar.gz/sha512/d38fe6df24d658a0f54ab007ac6f9b30c0a02fbf86c0592f2e5cf5a8375b654a7428b75f74c20d97d6c953ae9998664c82800813dfa806a5f16dfc20c798c419 -OpenBLAS.v0.3.21+0.armv6l-linux-gnueabihf-libgfortran5.tar.gz/md5/17f22b32a0715f82fd48cc5d82f6512c -OpenBLAS.v0.3.21+0.armv6l-linux-gnueabihf-libgfortran5.tar.gz/sha512/d9318a4cd232abc58907522c20ac666e6db2a92e6a25c9ddd1db0f0169be6f94aadc808014545e92e6168eaa7fa20de4235072186c48ade2e7fc672a700485ad -OpenBLAS.v0.3.21+0.armv6l-linux-musleabihf-libgfortran3.tar.gz/md5/d5a83c8835ad8553d304bf5260b53985 -OpenBLAS.v0.3.21+0.armv6l-linux-musleabihf-libgfortran3.tar.gz/sha512/3b506824730c7269eb49e90dc11bfde2b17338ef1504da63e84562433c68586a71b022ad37de3096e06ac24e98828b48638c672789320f76cb33eda4c8e8c9eb -OpenBLAS.v0.3.21+0.armv6l-linux-musleabihf-libgfortran4.tar.gz/md5/59cc4a5aeb63dd84c0dc12cbef7d37af -OpenBLAS.v0.3.21+0.armv6l-linux-musleabihf-libgfortran4.tar.gz/sha512/1e9cadcf65232d4a4fba9cda0226e5a5450227e16bf2c27a3268452d5c4e4d5d1321601fd6e1a5c5d92fbc3fc4de21c92e231b5ad3b25dd71eb49d5940fcf243 -OpenBLAS.v0.3.21+0.armv6l-linux-musleabihf-libgfortran5.tar.gz/md5/c04f400d9aca82aac956e94d9fc6fc51 -OpenBLAS.v0.3.21+0.armv6l-linux-musleabihf-libgfortran5.tar.gz/sha512/8751300546ccb059fb7755e3f745e7e195cfaf90daf28b151ea2a3d540edf8910c97351d428dda196707599361a200f1a647098fdf5d7163380b4ad2b4a4f733 -OpenBLAS.v0.3.21+0.armv7l-linux-gnueabihf-libgfortran3.tar.gz/md5/f251abd323b6bc463ae4a1989670aefb -OpenBLAS.v0.3.21+0.armv7l-linux-gnueabihf-libgfortran3.tar.gz/sha512/4f179ed09a5f5b71033d09db3894ad78d58a4429d65203225ab7a2a8c887222924910756a5fc4e3974a7cc6f9d994af287490f53cd05fe90f86c4bd4c4023b6d -OpenBLAS.v0.3.21+0.armv7l-linux-gnueabihf-libgfortran4.tar.gz/md5/f8ffa30a958448028d1294da9d15f3b2 -OpenBLAS.v0.3.21+0.armv7l-linux-gnueabihf-libgfortran4.tar.gz/sha512/0a2d9a73be439d78b4af7c70345bdffd531d5687adeea28049adba3c8c9ab7b6ed221703f2a8aff9e7391305355a596dc9a846c84d36d1b4cdfda521f7c05e8c -OpenBLAS.v0.3.21+0.armv7l-linux-gnueabihf-libgfortran5.tar.gz/md5/56a4aa4f3eafff290d38dc251a5966cb -OpenBLAS.v0.3.21+0.armv7l-linux-gnueabihf-libgfortran5.tar.gz/sha512/fce03b1c1becdac66208de20e66949aba113ce2695217d34703a9ba4fd79d364cdf05424282b9d1f25ad9c315baffca3a8bd0af239f6284bd37cbdb2ec3463c6 -OpenBLAS.v0.3.21+0.armv7l-linux-musleabihf-libgfortran3.tar.gz/md5/aca7ef7f854cfe45bedbf1f6b5a97aaf -OpenBLAS.v0.3.21+0.armv7l-linux-musleabihf-libgfortran3.tar.gz/sha512/16821728c7a0e56589b60176a06543240f2a061b437dc1cf38723dc56910c6add114a4a5e65eda051e5e88ff7b82b8613ffaf5dad7864f1208eb381159bacc8c -OpenBLAS.v0.3.21+0.armv7l-linux-musleabihf-libgfortran4.tar.gz/md5/9f2c39eef42e5c80f56d36aee156e2b0 -OpenBLAS.v0.3.21+0.armv7l-linux-musleabihf-libgfortran4.tar.gz/sha512/441a7833e4e2d1334aeda58d87560e613244138005bc54c74af00d81c26e1e508ce874fccdcd3b3114a74f5e2a102eb520a2e4165b461861ba79fbaff81e4ae3 -OpenBLAS.v0.3.21+0.armv7l-linux-musleabihf-libgfortran5.tar.gz/md5/bf1a9f3e553d6855133b4de3ffc841ee -OpenBLAS.v0.3.21+0.armv7l-linux-musleabihf-libgfortran5.tar.gz/sha512/2002b305ef3f3721287ed839d6d08f34127058e6295233f8280cc3ebd06d91cb326ea83f13c0158820c381fa8a2cc74ec1360a65c99bc525f492be561b15cc09 -OpenBLAS.v0.3.21+0.i686-linux-gnu-libgfortran3.tar.gz/md5/6051a0545d272bf19988e2a889531acd -OpenBLAS.v0.3.21+0.i686-linux-gnu-libgfortran3.tar.gz/sha512/21706d2fd8dde6e1e938b0c7a53c6073d52d830d7672702d828d5606582e2c98bdb39fc7ff1fa67188942713e9d718fdf5f014812115d0d0853066c2df21f297 -OpenBLAS.v0.3.21+0.i686-linux-gnu-libgfortran4.tar.gz/md5/4fc17cff9c7a4512245ffead4d75c678 -OpenBLAS.v0.3.21+0.i686-linux-gnu-libgfortran4.tar.gz/sha512/5a28c5a587be439cd2bdf4880caf967cdec14945d26c978fa5c59ce251d5811d460bebc038808e0e8dd2eb4b6a0fdfcaacca4718e2aeb7855f466bd13d1974a7 -OpenBLAS.v0.3.21+0.i686-linux-gnu-libgfortran5.tar.gz/md5/06fa8dff91cff8ba91e2b4bc896e776c -OpenBLAS.v0.3.21+0.i686-linux-gnu-libgfortran5.tar.gz/sha512/493110d06c4361df13ba8e0839b9410551b0bba4fe6e3cdcb53c0dff41a03b3e34ec1c2e73cd4671516631492a16b8dd140a59fa3ac71c348e670858654f2d8a -OpenBLAS.v0.3.21+0.i686-linux-musl-libgfortran3.tar.gz/md5/1b16814a10900c96537b5bfed19e71c2 -OpenBLAS.v0.3.21+0.i686-linux-musl-libgfortran3.tar.gz/sha512/603b2a2fd92286143cb0cb573e3c085db485cf3c4f54987d255efedaea2a8a3d84b83e28f6b2db9dbf05cd31f061845a749b8402d145cc5e8cc2eb369b38e3f5 -OpenBLAS.v0.3.21+0.i686-linux-musl-libgfortran4.tar.gz/md5/20ec87e486f1154d253bc251c1ec0bce -OpenBLAS.v0.3.21+0.i686-linux-musl-libgfortran4.tar.gz/sha512/a2d1736e0f632bddc5140ea88840113b80fedcad51bf5ea93445053eb07c1ae304a1510a85cf964d3a0e087390b8526a0df2bcd24e356b4693a41e5dfc8a671c -OpenBLAS.v0.3.21+0.i686-linux-musl-libgfortran5.tar.gz/md5/df9f4898d550130b0c0c5cede6dd4db3 -OpenBLAS.v0.3.21+0.i686-linux-musl-libgfortran5.tar.gz/sha512/c4c3133904e7b401c5d3013d0ef38b13d7a9804fb4ba38a2c0a062f1badb4d9150214bfc2a1bf55df1299e4151d71a6dbfce7063d9d80a19fe321878c0e59309 -OpenBLAS.v0.3.21+0.i686-w64-mingw32-libgfortran3.tar.gz/md5/3d83d839f80abbd17f84631fbb8f6624 -OpenBLAS.v0.3.21+0.i686-w64-mingw32-libgfortran3.tar.gz/sha512/e51680b4b97f404f244b4d943148f506f84a21f0f59f4d41a3a0cf81d545658d9cc59592a2538c4c077606fc1e6f87eda23063e49828f066e743205c5e6aee8e -OpenBLAS.v0.3.21+0.i686-w64-mingw32-libgfortran4.tar.gz/md5/2ca3ebd61038a5e422a946ede3d17535 -OpenBLAS.v0.3.21+0.i686-w64-mingw32-libgfortran4.tar.gz/sha512/c692b7c00aa0eda4a3fa989f84c797126b1596e13514117ad898166f941f040df67826ba33d0af93673c7a0b478fe4392f9a53d7859b7371878b6608dcb0556b -OpenBLAS.v0.3.21+0.i686-w64-mingw32-libgfortran5.tar.gz/md5/55995848e4bc9ef739e8ba17962787d3 -OpenBLAS.v0.3.21+0.i686-w64-mingw32-libgfortran5.tar.gz/sha512/e274dcfc6593786ac4c32c3f49ec69ab3a0c7278c67bbd04373d4845bff2dfaf17300d4a71e48ebd508e299fa629190ffe70ce074a68e83bac0eafa51f4db2a0 -OpenBLAS.v0.3.21+0.powerpc64le-linux-gnu-libgfortran3.tar.gz/md5/2a3d5f0240a27cf1617d9d4abba6df78 -OpenBLAS.v0.3.21+0.powerpc64le-linux-gnu-libgfortran3.tar.gz/sha512/489128c884a0c2b9eb5145b18c68f9c7de9a9cc4131f4635689dc67765f87bec852b0547ebea4ecfdad4eec38063aabe8f6c3e96e5856e08c0c26130c2f11897 -OpenBLAS.v0.3.21+0.powerpc64le-linux-gnu-libgfortran4.tar.gz/md5/bb3501965c26519ecf30830465b12672 -OpenBLAS.v0.3.21+0.powerpc64le-linux-gnu-libgfortran4.tar.gz/sha512/bcc78c10f7aba973f1159443e8d408465833ef43530c1c2514715db5a1bb84c0f48510c12b2ac1211b2777328ec682e01ab668818025651f00db7ca747f5674e -OpenBLAS.v0.3.21+0.powerpc64le-linux-gnu-libgfortran5.tar.gz/md5/dc6192b5130e114b3cb1183690c7e398 -OpenBLAS.v0.3.21+0.powerpc64le-linux-gnu-libgfortran5.tar.gz/sha512/95d69ace7b145c02acbe13c52d1e7835fdb1e8788c0b03f0f967d88575b322988e4f4acef3b6ad3e505c895f8d19566b8eb9add02f0250cf2d4a14c9f1428f3f -OpenBLAS.v0.3.21+0.x86_64-apple-darwin-libgfortran3.tar.gz/md5/27a9117002f96c41c7907be0475a8d86 -OpenBLAS.v0.3.21+0.x86_64-apple-darwin-libgfortran3.tar.gz/sha512/2247f3691cc552f65a353412c46a76c1ac4b4d994a5725044ba300f0944f15b37144ceff438d77022b441c25eaf530709a4d3ed4523b97d292991b6407a72970 -OpenBLAS.v0.3.21+0.x86_64-apple-darwin-libgfortran4.tar.gz/md5/30dea9ca8b658ff6a9db9245d8ad7500 -OpenBLAS.v0.3.21+0.x86_64-apple-darwin-libgfortran4.tar.gz/sha512/3289e766bfad456b35efae6d341a77698d4d36908ac8d802f47777feed5eef224fde1cb4799b5bd4e8e216c28c78ab4407b92906ddac0bdd1cfb674136c69aaa -OpenBLAS.v0.3.21+0.x86_64-apple-darwin-libgfortran5.tar.gz/md5/ed820c420a67b32df0a9f34760ce605c -OpenBLAS.v0.3.21+0.x86_64-apple-darwin-libgfortran5.tar.gz/sha512/63f43eb0b1c037849fd5addda66d818c0b8188f9758391cd9929e78593c69ec61729be0efce6a9f943ebac178c634cdddffe172ad681ad1c4717949b075a1de7 -OpenBLAS.v0.3.21+0.x86_64-linux-gnu-libgfortran3.tar.gz/md5/a5393eb8e1799b6c089a82d8dde39fb0 -OpenBLAS.v0.3.21+0.x86_64-linux-gnu-libgfortran3.tar.gz/sha512/8ce9ad2f55f131592a87789ec6a824cbe1d23c3be32fb2ba59e107045f75c34684b85d3bab2913923f5a19414a072b5e855c86fddd44a4319a9b5e7b28d5c169 -OpenBLAS.v0.3.21+0.x86_64-linux-gnu-libgfortran4.tar.gz/md5/652aa333440219a4ec17d94dd4e6d358 -OpenBLAS.v0.3.21+0.x86_64-linux-gnu-libgfortran4.tar.gz/sha512/89d7740b462d4216e920dcd5c7867520b2f49c3cb74bd8424efd287927c92a08492c9fa413506248207f9532c7bb9ea2af587a4f70d7db8ea42ac1bc144e8a12 -OpenBLAS.v0.3.21+0.x86_64-linux-gnu-libgfortran5.tar.gz/md5/9e0831544d02a39565a2d0714b1e121a -OpenBLAS.v0.3.21+0.x86_64-linux-gnu-libgfortran5.tar.gz/sha512/9e57a08a09d5fc47d881f9f7ed2e52fbdc7301908cf1be384fe767e6b7771a5980827417049dd37df4d71a861b2cf2a05f25df892b15ed03458910b0bc53101a -OpenBLAS.v0.3.21+0.x86_64-linux-musl-libgfortran3.tar.gz/md5/dde15d3a2f26601cd7ac0a803efbe503 -OpenBLAS.v0.3.21+0.x86_64-linux-musl-libgfortran3.tar.gz/sha512/fa48e51a59b6fb213f88ce8b2778ca5eef73f0721a5c71e27cd8952a34a5003d69710571deb5c0c06526fa8016cfdacabdc2b343342ad0d1e523903fa94a8d42 -OpenBLAS.v0.3.21+0.x86_64-linux-musl-libgfortran4.tar.gz/md5/55b80d13104f4ddc9eefa0424d71330b -OpenBLAS.v0.3.21+0.x86_64-linux-musl-libgfortran4.tar.gz/sha512/fcd816e4dcd767963ae555846cee846c19f0b7d666042d59757eb2eebe115d30af60072c134c3025049712520705dbe9d2862a1f07c955780f9a0de69e6e00b5 -OpenBLAS.v0.3.21+0.x86_64-linux-musl-libgfortran5.tar.gz/md5/e22e46b304962a1edb550e19914cc5e6 -OpenBLAS.v0.3.21+0.x86_64-linux-musl-libgfortran5.tar.gz/sha512/38f8ce1baee4082fd2432dbc1905fd03d8efbcc378aefc9312e90b6054341717ea46bc4d33f9f517e67af0fca2da55b5c5b112850e6071ba18753a4936d78da2 -OpenBLAS.v0.3.21+0.x86_64-unknown-freebsd-libgfortran3.tar.gz/md5/b8b7a9f9aff94b154e8479a84d7abe4b -OpenBLAS.v0.3.21+0.x86_64-unknown-freebsd-libgfortran3.tar.gz/sha512/afe4c45d4bf4e38fdbbf00b9e86a65244aadaa2b74e59f9a43f1860c130f721bba2f36186519b2573ff0819bd2b30414cc23800634847db2ecd2107f985495ad -OpenBLAS.v0.3.21+0.x86_64-unknown-freebsd-libgfortran4.tar.gz/md5/8fceea42a8524fef29a54b88ea0a721b -OpenBLAS.v0.3.21+0.x86_64-unknown-freebsd-libgfortran4.tar.gz/sha512/e8195597057ab6de0aa5978b4d13b3248ac6acde3f86fc55d9e1c76ec39d464fc2eefea1096cfb5dffbd623f47b06be163c4c74981d2eb13387bc8499b9053fe -OpenBLAS.v0.3.21+0.x86_64-unknown-freebsd-libgfortran5.tar.gz/md5/6f88d96c05663b4aeb81ba8a63882066 -OpenBLAS.v0.3.21+0.x86_64-unknown-freebsd-libgfortran5.tar.gz/sha512/f1f516d8d16a2f86bfb26129e0530146de3a4bcb62abcd2c7b9bf64cc09c069e5eeb66658b1cc0cdcc665de98246ad8ed20a7d8b132fe0f0e4d0651d3b4516d4 -OpenBLAS.v0.3.21+0.x86_64-w64-mingw32-libgfortran3.tar.gz/md5/4fb99984ec612a090b294c6b349a7cdb -OpenBLAS.v0.3.21+0.x86_64-w64-mingw32-libgfortran3.tar.gz/sha512/81bf55c6398a6cf4a61add084332e7cb79e6d550737641f6c0bc77aa61bd8187603a6100b78c2ef80109c3c5b21f7ba618a4780a5b68e5168a461af521f26c52 -OpenBLAS.v0.3.21+0.x86_64-w64-mingw32-libgfortran4.tar.gz/md5/a1a2c3623d583ab995ac86df07ab73bb -OpenBLAS.v0.3.21+0.x86_64-w64-mingw32-libgfortran4.tar.gz/sha512/ec5fab349607862c9e0badaa1fd433e057ac7d056008af683bbb37bf43fef5322e598cd71a6d9c3dd55ef857b39ca634e64572e9ae6e263022dc7f89083f9bca -OpenBLAS.v0.3.21+0.x86_64-w64-mingw32-libgfortran5.tar.gz/md5/05ef0ede7d565247a936c3110c25c83c -OpenBLAS.v0.3.21+0.x86_64-w64-mingw32-libgfortran5.tar.gz/sha512/34d2812bc0c6605558cbd6244c41d0805fc9a943cd91a74994bcacdd5ff19612eac8751832e3ee761089a853cf16069e67e13507ca75bbe4b7dc4517e41515e0 +OpenBLAS.v0.3.21+2.aarch64-apple-darwin-libgfortran5.tar.gz/md5/f91710c89cb8590dbe64860f0d850032 +OpenBLAS.v0.3.21+2.aarch64-apple-darwin-libgfortran5.tar.gz/sha512/3c39fc2b81678ef8bfd50143a2c28f85bbea63cc3674b0da099862fce602aaae946e1e8d64ca28f2f174d4b8c046f5deac2f1cc76814fdc06c05a8acec1a0330 +OpenBLAS.v0.3.21+2.aarch64-linux-gnu-libgfortran3.tar.gz/md5/d225764726570a21e75bc58787cc6164 +OpenBLAS.v0.3.21+2.aarch64-linux-gnu-libgfortran3.tar.gz/sha512/f9151bb0e8071ae5ff7d136d3e45273c2d4d0552057546e79151dd7de97e1bcd0d4a4920ed95cc85990e61e8da7fbe7f8aa73d291e367c2cc91eb68a88290fc6 +OpenBLAS.v0.3.21+2.aarch64-linux-gnu-libgfortran4.tar.gz/md5/0a01818592d02da04bb47d1b6b407f61 +OpenBLAS.v0.3.21+2.aarch64-linux-gnu-libgfortran4.tar.gz/sha512/e2cd89462855b2f130abfd9f59bd1cedc2172d481b61551c8c317017f6016fdc88a7c4adb6533cbb33fc65aaf04102690c1ad7ad056bd6b981ef5d0eeb9a1693 +OpenBLAS.v0.3.21+2.aarch64-linux-gnu-libgfortran5.tar.gz/md5/75605e180c98c6dcf49000dc365c7642 +OpenBLAS.v0.3.21+2.aarch64-linux-gnu-libgfortran5.tar.gz/sha512/98617ffe2e78d2e9beadd64f8030a94eaf39195a45a6fa1a07f08ea74e4c4370f5ef35476c8a3932958ea600e33ac45c2c33a8657fc59704781c7f835cf0bba3 +OpenBLAS.v0.3.21+2.aarch64-linux-musl-libgfortran3.tar.gz/md5/b067b5f25cf7aba2e02a85d0aeba09a1 +OpenBLAS.v0.3.21+2.aarch64-linux-musl-libgfortran3.tar.gz/sha512/39dc32614925ce40eb17ba1f42e2edb63c1b01153075d8e3a1c079a691925b889724a907e0824e957ea48717aff6b55af358cfeb587c8e9d4c209746f4ffd33d +OpenBLAS.v0.3.21+2.aarch64-linux-musl-libgfortran4.tar.gz/md5/2d67ca929066330ee44a1f332ab78521 +OpenBLAS.v0.3.21+2.aarch64-linux-musl-libgfortran4.tar.gz/sha512/997f2a8f0788b17c3a2b57995eb062093cba60a40f4eedb9d337e661101ab35d577fdee6ebabc6fded68eb22f6c8a248107c5d2b2a7722bd7f2352f0aa64250b +OpenBLAS.v0.3.21+2.aarch64-linux-musl-libgfortran5.tar.gz/md5/2c2520a023f06163bf85c40b026fd53f +OpenBLAS.v0.3.21+2.aarch64-linux-musl-libgfortran5.tar.gz/sha512/078e8cafe112ba5eefa56b14309279c5e1b393093387162c468eaf0bdafbab241f98b7fef35fc1d6c53401b024cd6f67c1813c64dae036eab0ca7698802a80f4 +OpenBLAS.v0.3.21+2.armv6l-linux-gnueabihf-libgfortran3.tar.gz/md5/b6989f7f177e457d312077f66a24eb14 +OpenBLAS.v0.3.21+2.armv6l-linux-gnueabihf-libgfortran3.tar.gz/sha512/829b314d6931a5908f20abd08b56b80d22f4086460ecb512781909def54a9c7fd362d6425b93783eed6dea1143c0b27bc2f18af9b0f396ccf3469acbda5c6f30 +OpenBLAS.v0.3.21+2.armv6l-linux-gnueabihf-libgfortran4.tar.gz/md5/1a45c63cb2519aa322a5872956765729 +OpenBLAS.v0.3.21+2.armv6l-linux-gnueabihf-libgfortran4.tar.gz/sha512/90f2a2a81d5651338f06b3bea3e53f5a55726533ea8d4cad4362af531e25c00a908e0be841bf6818186c857aa2191bb36329a143217a4e3d54af49b1a64adcc9 +OpenBLAS.v0.3.21+2.armv6l-linux-gnueabihf-libgfortran5.tar.gz/md5/076cdcb51fcafcc41e13eb7b9fcb01c9 +OpenBLAS.v0.3.21+2.armv6l-linux-gnueabihf-libgfortran5.tar.gz/sha512/d4d368e7021f4e1add96e2a1c4beffe2d8e68de09024b652cbd586fd013e32aeb59b93975a60ab0bc39b7db56e2b831f221e646e1ebe0073db9685271a915899 +OpenBLAS.v0.3.21+2.armv6l-linux-musleabihf-libgfortran3.tar.gz/md5/2a548bd843f7315368c81a69e8d16c1a +OpenBLAS.v0.3.21+2.armv6l-linux-musleabihf-libgfortran3.tar.gz/sha512/ee4e1a055dbfdd5ba06da93c025e74fbe68d74663cbfd44e9c96ae7185514b3327d361adf89c31d54b1f2a45b8e8e94df7d7af06b7a4429194bb647d98d4b8ad +OpenBLAS.v0.3.21+2.armv6l-linux-musleabihf-libgfortran4.tar.gz/md5/f53dcc224d763cd92bcd4205097bea3d +OpenBLAS.v0.3.21+2.armv6l-linux-musleabihf-libgfortran4.tar.gz/sha512/2744ea110b42c7f6be25e81574e9f90b9356bbc37e7cd23e6600d1b508b0f3ed4bcdf7202dc47a9f53574abb201fca9a58280889aa63d3b4645bb7528d6cd626 +OpenBLAS.v0.3.21+2.armv6l-linux-musleabihf-libgfortran5.tar.gz/md5/d21e755958eeedcf9ad1bc23745be0d4 +OpenBLAS.v0.3.21+2.armv6l-linux-musleabihf-libgfortran5.tar.gz/sha512/8eb837d566f08652b335a2f1811ce9a834850bc442609ddd93996c0cd927c29c0769352888ed166774e788aa88aec621d4a4651306c5a552a8fc6b3ca24967ae +OpenBLAS.v0.3.21+2.armv7l-linux-gnueabihf-libgfortran3.tar.gz/md5/b6989f7f177e457d312077f66a24eb14 +OpenBLAS.v0.3.21+2.armv7l-linux-gnueabihf-libgfortran3.tar.gz/sha512/829b314d6931a5908f20abd08b56b80d22f4086460ecb512781909def54a9c7fd362d6425b93783eed6dea1143c0b27bc2f18af9b0f396ccf3469acbda5c6f30 +OpenBLAS.v0.3.21+2.armv7l-linux-gnueabihf-libgfortran4.tar.gz/md5/1a45c63cb2519aa322a5872956765729 +OpenBLAS.v0.3.21+2.armv7l-linux-gnueabihf-libgfortran4.tar.gz/sha512/90f2a2a81d5651338f06b3bea3e53f5a55726533ea8d4cad4362af531e25c00a908e0be841bf6818186c857aa2191bb36329a143217a4e3d54af49b1a64adcc9 +OpenBLAS.v0.3.21+2.armv7l-linux-gnueabihf-libgfortran5.tar.gz/md5/076cdcb51fcafcc41e13eb7b9fcb01c9 +OpenBLAS.v0.3.21+2.armv7l-linux-gnueabihf-libgfortran5.tar.gz/sha512/d4d368e7021f4e1add96e2a1c4beffe2d8e68de09024b652cbd586fd013e32aeb59b93975a60ab0bc39b7db56e2b831f221e646e1ebe0073db9685271a915899 +OpenBLAS.v0.3.21+2.armv7l-linux-musleabihf-libgfortran3.tar.gz/md5/2a548bd843f7315368c81a69e8d16c1a +OpenBLAS.v0.3.21+2.armv7l-linux-musleabihf-libgfortran3.tar.gz/sha512/ee4e1a055dbfdd5ba06da93c025e74fbe68d74663cbfd44e9c96ae7185514b3327d361adf89c31d54b1f2a45b8e8e94df7d7af06b7a4429194bb647d98d4b8ad +OpenBLAS.v0.3.21+2.armv7l-linux-musleabihf-libgfortran4.tar.gz/md5/f53dcc224d763cd92bcd4205097bea3d +OpenBLAS.v0.3.21+2.armv7l-linux-musleabihf-libgfortran4.tar.gz/sha512/2744ea110b42c7f6be25e81574e9f90b9356bbc37e7cd23e6600d1b508b0f3ed4bcdf7202dc47a9f53574abb201fca9a58280889aa63d3b4645bb7528d6cd626 +OpenBLAS.v0.3.21+2.armv7l-linux-musleabihf-libgfortran5.tar.gz/md5/d21e755958eeedcf9ad1bc23745be0d4 +OpenBLAS.v0.3.21+2.armv7l-linux-musleabihf-libgfortran5.tar.gz/sha512/8eb837d566f08652b335a2f1811ce9a834850bc442609ddd93996c0cd927c29c0769352888ed166774e788aa88aec621d4a4651306c5a552a8fc6b3ca24967ae +OpenBLAS.v0.3.21+2.i686-linux-gnu-libgfortran3.tar.gz/md5/70e51131c3a1118de9f7f88142e06357 +OpenBLAS.v0.3.21+2.i686-linux-gnu-libgfortran3.tar.gz/sha512/2459ea1382a03b36670c95ae7a42a155b133173a93f4b54e2f05708ef6c9c20f583fbefa647042ca5da1b6024e1cd88b383398cb1c41d8e7d6003b418914d8dc +OpenBLAS.v0.3.21+2.i686-linux-gnu-libgfortran4.tar.gz/md5/06fd95c3680bfd712c3c5b986a038457 +OpenBLAS.v0.3.21+2.i686-linux-gnu-libgfortran4.tar.gz/sha512/0961813c2a5331bad30ac853261798dded83321b94f28c7dfb1c52d3de9c60fea3cbd180057a2c98182125b972d514467212e0da2ad8695488aa0c4b2eaae15f +OpenBLAS.v0.3.21+2.i686-linux-gnu-libgfortran5.tar.gz/md5/1dca6218304d7fd581b30688fe3712e9 +OpenBLAS.v0.3.21+2.i686-linux-gnu-libgfortran5.tar.gz/sha512/a9d2f95b795979ee4b1392072ad157ea6fdd1321ec0f41e801c1342065c6380f4a8b1b1d0a36874e4eba6c6fb16bb2bbe56fb895c058a785ec4c86a1103a4c06 +OpenBLAS.v0.3.21+2.i686-linux-musl-libgfortran3.tar.gz/md5/d029896538c3a26ba116392b902731b8 +OpenBLAS.v0.3.21+2.i686-linux-musl-libgfortran3.tar.gz/sha512/49b7dbd049d08d5b1be16ce2968530d2c0d8226dfadfd04b4343d424f337732e0156ec16041b1d49b163c38a738a6e0712c8e00c1de704df146954d222dd6d41 +OpenBLAS.v0.3.21+2.i686-linux-musl-libgfortran4.tar.gz/md5/f74f14c85303bdd3c389bb81edfd4311 +OpenBLAS.v0.3.21+2.i686-linux-musl-libgfortran4.tar.gz/sha512/151214568bbfc1693cff891f35051ce216d1cdfe96fd8568cf334e7d8235078ea9c215a2eee6e5baaf3f4d9378e200860d69cd1eee2c477c41cbac5d55117838 +OpenBLAS.v0.3.21+2.i686-linux-musl-libgfortran5.tar.gz/md5/ec7eb5a94482bf6202085ab7e2e9b8dd +OpenBLAS.v0.3.21+2.i686-linux-musl-libgfortran5.tar.gz/sha512/333fe73296944d4bb913c3e3c9aeed281188c32a47214a3a27344bd744a3baf3f3d045ec6c4d12eeecee70e38c23fd375f09aa7c2953715d6b7a049533a3fb42 +OpenBLAS.v0.3.21+2.i686-w64-mingw32-libgfortran3.tar.gz/md5/604dfa84a90c70c6fd91e474e7a4161a +OpenBLAS.v0.3.21+2.i686-w64-mingw32-libgfortran3.tar.gz/sha512/3f147a77770a4eba3767724c6b28a12d5b93477b1f2845b4a5e962e0d8c6c9d5bb0c3a29c334f0f4b5122b55b5afc5b28b031e0a11d388542ddc01403fbabcb0 +OpenBLAS.v0.3.21+2.i686-w64-mingw32-libgfortran4.tar.gz/md5/a2cc8bbc4789499f134647b32138e0f4 +OpenBLAS.v0.3.21+2.i686-w64-mingw32-libgfortran4.tar.gz/sha512/10b0a696bbeb605be15983f2f808485cab9e08939d12ed05c10f2876171b6d74d457758c24a0899b4b496ea8ac66f0fb02bf96f324a240e6613d874f345894c8 +OpenBLAS.v0.3.21+2.i686-w64-mingw32-libgfortran5.tar.gz/md5/e2932325c13aafd5605e98bccbf27f8b +OpenBLAS.v0.3.21+2.i686-w64-mingw32-libgfortran5.tar.gz/sha512/275cc4dd521ae718124a5759182bb47b79e351a9c5443d0f7971d61ce4145f2aa71ee9fd6ae7c7f684985a5f75956f8fd5d19ef3a38e1f850da620213c942b90 +OpenBLAS.v0.3.21+2.powerpc64le-linux-gnu-libgfortran3.tar.gz/md5/d89868a54c60921f9ef521c1463a7471 +OpenBLAS.v0.3.21+2.powerpc64le-linux-gnu-libgfortran3.tar.gz/sha512/662bba3081f71cb5cb1ac389677fc1c460de2879ddfe9ec2dbec591d5b402a1ead280015abac7cce38f242136d13345b248f7a501bc877325f80a12a95ea1a4e +OpenBLAS.v0.3.21+2.powerpc64le-linux-gnu-libgfortran4.tar.gz/md5/64054a28fca8beb36eac3af71dfa83b6 +OpenBLAS.v0.3.21+2.powerpc64le-linux-gnu-libgfortran4.tar.gz/sha512/d2a57b076a25dcc73547ee4be31661c37d683bbc8e4c2bd14c76268cff03c2ac436fcb90a7fbb83db3ad08ddb49eef98ddc669f1e2e40834138932bd0d89f681 +OpenBLAS.v0.3.21+2.powerpc64le-linux-gnu-libgfortran5.tar.gz/md5/cc248a0e9ac8f1e29804c865a2e0428d +OpenBLAS.v0.3.21+2.powerpc64le-linux-gnu-libgfortran5.tar.gz/sha512/138fd0add703d6cad1d1280495619e2459b3505a1a2dbcbf424f91b459b30338fcc4a3b2811d6681ec26fd615be9885ebc402f8b35d28fb8e758509c9ef7a699 +OpenBLAS.v0.3.21+2.x86_64-apple-darwin-libgfortran3.tar.gz/md5/28cebce846f02367b4294a8966f25883 +OpenBLAS.v0.3.21+2.x86_64-apple-darwin-libgfortran3.tar.gz/sha512/c7d73b598fd15be95e10d74b64746d8fbf133da2bd6f55f56b0fd3d09a06aebdf53c870b712f3bf1a8efe3b97bb7f4660132c64566a44b2773865222de8f4eaf +OpenBLAS.v0.3.21+2.x86_64-apple-darwin-libgfortran4.tar.gz/md5/4538a0328cbbdf73a5596493f6429456 +OpenBLAS.v0.3.21+2.x86_64-apple-darwin-libgfortran4.tar.gz/sha512/4a9499be3fd0ab473eb5b672accf8e746431e797cdc58661dd013e76944a3a96a6ec047d937606b8fcaa162f575a6a4548a12bd05cf85e0fb3b081ae148d561f +OpenBLAS.v0.3.21+2.x86_64-apple-darwin-libgfortran5.tar.gz/md5/e96fac38a0afa34cd892d396ccb6e651 +OpenBLAS.v0.3.21+2.x86_64-apple-darwin-libgfortran5.tar.gz/sha512/1045c182bf5b420c7268eefc393b33c0a4b0a35ef1d1018b4d761bf937f3e04e4d82b4fef701a18f183ac385d9306001497fba2cd9c3dc78ea344a21c9b3185c +OpenBLAS.v0.3.21+2.x86_64-linux-gnu-libgfortran3.tar.gz/md5/8a6dca6fbff493554f35c21562a0f466 +OpenBLAS.v0.3.21+2.x86_64-linux-gnu-libgfortran3.tar.gz/sha512/06c31e76e7d72f80ff04556166d6264a67a688b34308ecd7cb2f08f8293d40247441a20cd0624f5a3b6b4139d85232bc2533a3175afa2dcd18ed21a7a280cc3b +OpenBLAS.v0.3.21+2.x86_64-linux-gnu-libgfortran4.tar.gz/md5/24ff77bb3836c798e617b83f55cf1a3e +OpenBLAS.v0.3.21+2.x86_64-linux-gnu-libgfortran4.tar.gz/sha512/bb38920d70b165e06e7b8e1ef1ab62954f7e3932547f19d7276d4c9f577e645e3ee43949e871f3b4de40dc56370e08e6e412ba7831969adae736e0c2b76f416e +OpenBLAS.v0.3.21+2.x86_64-linux-gnu-libgfortran5.tar.gz/md5/d4ead7c0ebf80c0dcda6d2603d26a458 +OpenBLAS.v0.3.21+2.x86_64-linux-gnu-libgfortran5.tar.gz/sha512/71c9ccf506da2595b2ac4d8eb1d98cb09fc9f25e651934139f2435ecda829c5293536b85da7070e061f48e1c80de752a3317c75d4bbfa337270baabda95b49b8 +OpenBLAS.v0.3.21+2.x86_64-linux-musl-libgfortran3.tar.gz/md5/f00a84740f87f61b023e2db9d3d5bd42 +OpenBLAS.v0.3.21+2.x86_64-linux-musl-libgfortran3.tar.gz/sha512/4ceaf9260c9d85005b77762b020f90ea2db42d1f912e2d6aac398dedd77c65a6346a7cabd6814adb11a7ef415940a861e48e66bf60a0f249cf89ca286c6a9e54 +OpenBLAS.v0.3.21+2.x86_64-linux-musl-libgfortran4.tar.gz/md5/b8158dc2220037ffae3968cb8f0f19d0 +OpenBLAS.v0.3.21+2.x86_64-linux-musl-libgfortran4.tar.gz/sha512/1cefbcaa168bb0ec7adad8edcd2ab991e662ecf81ea84991bcd4dd3c6d6b168e3355d74b36f9abab8523fd038f109c6e8ab3f1c2ca0aeeb0be0b812765e6b7f1 +OpenBLAS.v0.3.21+2.x86_64-linux-musl-libgfortran5.tar.gz/md5/725bd4196c3c1ef6d7cdbc32bdb30408 +OpenBLAS.v0.3.21+2.x86_64-linux-musl-libgfortran5.tar.gz/sha512/77304f8aec2948e5a3bacdff3f60d99517199b86d052148e08ed90f8f67617345a6c352d37856a66d9c812efb0d1fc1b56264b4d96ae4a1f98c2a99efa5e51e7 +OpenBLAS.v0.3.21+2.x86_64-unknown-freebsd-libgfortran3.tar.gz/md5/dc561ad37739e1b80a5a691cac4283be +OpenBLAS.v0.3.21+2.x86_64-unknown-freebsd-libgfortran3.tar.gz/sha512/44a7fe4f573540223cb0db54ff7975dd8ed2c920586262827e1cb8a6c30095f6fe64573a17c584b8c74a134f7698677cce38832c6b594c308eb2b8473c8cdc28 +OpenBLAS.v0.3.21+2.x86_64-unknown-freebsd-libgfortran4.tar.gz/md5/135e9606b11f39c82e6dac0d3503d268 +OpenBLAS.v0.3.21+2.x86_64-unknown-freebsd-libgfortran4.tar.gz/sha512/b3e403909cbc719b1947fda91d6f1c52ff1f584a61ad61aceacdd549695c5fe3aff567fcdb72fbca2d75f7358a76ae369cc81ab04feb6dd75708a1fbb27553f3 +OpenBLAS.v0.3.21+2.x86_64-unknown-freebsd-libgfortran5.tar.gz/md5/0b577d28b47268b5d8edec0fc2d54ef8 +OpenBLAS.v0.3.21+2.x86_64-unknown-freebsd-libgfortran5.tar.gz/sha512/3757db7f54e4f6ef3ba700784bca36753f0e694d392a6df6f1fe0bd760e5a71ddf37001a92435fb79e1dde755a13cf719f351316c667ad8e66ead02c4bc7b797 +OpenBLAS.v0.3.21+2.x86_64-w64-mingw32-libgfortran3.tar.gz/md5/07045bf0510d3899392e516d38af8a68 +OpenBLAS.v0.3.21+2.x86_64-w64-mingw32-libgfortran3.tar.gz/sha512/7b0a223fe3be0c5c3f244618d0ae8deab6fa01ebe5589674aa04f682db11031f22ec57a56510ff24c71a768fe3bd2db492e717a5bd63dd04cddf0cbdd2660f3b +OpenBLAS.v0.3.21+2.x86_64-w64-mingw32-libgfortran4.tar.gz/md5/318e776ba6e919edebd5d285c09a737a +OpenBLAS.v0.3.21+2.x86_64-w64-mingw32-libgfortran4.tar.gz/sha512/93a814ae6f309be1e050a62bc7ca1f5ba303c007d585d5383d2b965cee96bc7b56cf40a4218e08640d0613159c1807165d8e804e789a76ab1ba98ffa696519f6 +OpenBLAS.v0.3.21+2.x86_64-w64-mingw32-libgfortran5.tar.gz/md5/af9228bcd1a58ca8785ef54194c3826b +OpenBLAS.v0.3.21+2.x86_64-w64-mingw32-libgfortran5.tar.gz/sha512/8566e407ff6850116603a990bfd4a76b4abbace064f39810383b55e78323dbb28c0e306b888d306ad3689c31e5333c7d09c8b9ade228a8e7d0395e723649b2eb openblas-b89fb708caa5a5a32de8f4306c4ff132e0228e9a.tar.gz/md5/716ebe95d4b491253cdde8308b8adb83 openblas-b89fb708caa5a5a32de8f4306c4ff132e0228e9a.tar.gz/sha512/00e7bde49525c2c28bf07b47290e00b53bff446be63f09e90c51724c6350e5ddc90f5a071ae6de057b3fbb107060e70bf16683fcefcf48ae37ba1d0758be553b diff --git a/deps/openblas.mk b/deps/openblas.mk index f949143f393b12..6e3c4f8cb0fab9 100644 --- a/deps/openblas.mk +++ b/deps/openblas.mk @@ -100,7 +100,12 @@ $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/neoverse-generic-kernels.patch-applied: $(BUILDD patch -p1 -f < $(SRCDIR)/patches/neoverse-generic-kernels.patch echo 1 > $@ -$(BUILDDIR)/$(OPENBLAS_SRC_DIR)/build-configured: $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/neoverse-generic-kernels.patch-applied +$(BUILDDIR)/$(OPENBLAS_SRC_DIR)/openblas-default-num-threads.patch-applied: $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/neoverse-generic-kernels.patch-applied + cd $(BUILDDIR)/$(OPENBLAS_SRC_DIR) && \ + patch -p1 -f < $(SRCDIR)/patches/openblas-default-num-threads.patch + echo 1 > $@ + +$(BUILDDIR)/$(OPENBLAS_SRC_DIR)/build-configured: $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/openblas-default-num-threads.patch-applied echo 1 > $@ $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/build-compiled: $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/build-configured diff --git a/deps/patches/openblas-default-num-threads.patch b/deps/patches/openblas-default-num-threads.patch new file mode 100644 index 00000000000000..349ec39b18b31b --- /dev/null +++ b/deps/patches/openblas-default-num-threads.patch @@ -0,0 +1,51 @@ +commit 8969146b6a76c09686f1cf14a145cebfa7187634 +Author: Elliot Saba +Date: Thu Sep 22 10:38:36 2022 -0700 + + Add `OPENBLAS_DEFAULT_NUM_THREADS` + + This allows Julia to set a default number of threads (usually `1`) to be + used when no other thread counts are specified [0], to short-circuit the + default OpenBLAS thread initialization routine that spins up a different + number of threads than Julia would otherwise choose. + + The reason to add a new environment variable is that we want to be able + to configure OpenBLAS to avoid performing its initial memory + allocation/thread startup, as that can consume significant amounts of + memory, but we still want to be sensitive to legacy codebases that set + things like `OMP_NUM_THREADS` or `GOTOBLAS_NUM_THREADS`. Creating a new + environment variable that is openblas-specific and is not already + publicly used to control the overall number of threads of programs like + Julia seems to be the best way forward. + + [0] https://github.com/JuliaLang/julia/pull/46844 + +diff --git a/driver/others/init.c b/driver/others/init.c +index cc3145a6..cd10e8d3 100644 +--- a/driver/others/init.c ++++ b/driver/others/init.c +@@ -823,6 +823,8 @@ void gotoblas_affinity_init(void) { + + if (numprocs == 0) numprocs = readenv_atoi("OMP_NUM_THREADS"); + ++ if (numprocs == 0) numprocs = readenv_atoi("OPENBLAS_DEFAULT_NUM_THREADS"); ++ + numnodes = 1; + + if (numprocs == 1) { +diff --git a/driver/others/openblas_env.c b/driver/others/openblas_env.c +index ef91a08e..cc61d760 100644 +--- a/driver/others/openblas_env.c ++++ b/driver/others/openblas_env.c +@@ -66,6 +66,11 @@ void openblas_read_env() { + if(ret<0) ret=0; + openblas_env_thread_timeout=(unsigned int)ret; + ++ ret=0; ++ if (readenv(p,"OPENBLAS_DEFAULT_NUM_THREADS")) ret = atoi(p); ++ if(ret<0) ret=0; ++ openblas_env_openblas_num_threads=ret; ++ + ret=0; + if (readenv(p,"OPENBLAS_NUM_THREADS")) ret = atoi(p); + if(ret<0) ret=0; diff --git a/stdlib/OpenBLAS_jll/Project.toml b/stdlib/OpenBLAS_jll/Project.toml index f04e3491ad22b9..0ce6b83364ef95 100644 --- a/stdlib/OpenBLAS_jll/Project.toml +++ b/stdlib/OpenBLAS_jll/Project.toml @@ -1,6 +1,6 @@ name = "OpenBLAS_jll" uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.21+0" +version = "0.3.21+2" [deps] CompilerSupportLibraries_jll = "e66e0078-7015-5450-92f7-15fbd957f2ae" diff --git a/stdlib/OpenBLAS_jll/src/OpenBLAS_jll.jl b/stdlib/OpenBLAS_jll/src/OpenBLAS_jll.jl index f656621d957d6c..27b8f3539210a7 100644 --- a/stdlib/OpenBLAS_jll/src/OpenBLAS_jll.jl +++ b/stdlib/OpenBLAS_jll/src/OpenBLAS_jll.jl @@ -37,6 +37,11 @@ function __init__() ENV["OPENBLAS_MAIN_FREE"] = "1" end + # Ensure that OpenBLAS does not automatically start up a bunch of threads, + # it will only do so if requested by another environment variable, or when + # LinearAlgebra initializes in its `__init__()` method: + ENV["OPENBLAS_DEFAULT_NUM_THREADS"] = "1" + global libopenblas_handle = dlopen(libopenblas) global libopenblas_path = dlpath(libopenblas_handle) global artifact_dir = dirname(Sys.BINDIR)