|
| 1 | +name = 'OpenBLAS' |
| 2 | +version = '0.3.1' |
| 3 | + |
| 4 | +homepage = 'http://xianyi.github.com/OpenBLAS/' |
| 5 | +description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version." |
| 6 | + |
| 7 | +toolchain = {'name': 'GCC', 'version': '7.3.0-2.30'} |
| 8 | +# need to build with -fno-tree-vectorize due to asm constraint bugs in OpenBLAS<0.3.6 |
| 9 | +# cfr. https://github.com/easybuilders/easybuild-easyconfigs/issues/7180 |
| 10 | +toolchainopts = {'vectorize': False} |
| 11 | + |
| 12 | +source_urls = [ |
| 13 | + # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble |
| 14 | + 'http://www.netlib.org/lapack/timing/', |
| 15 | + 'https://github.com/xianyi/OpenBLAS/archive/', |
| 16 | +] |
| 17 | +sources = ['v%(version)s.tar.gz'] |
| 18 | +patches = [ |
| 19 | + ('large.tgz', '.'), |
| 20 | + ('timing.tgz', '.'), |
| 21 | + # this patch together with buildopts = 'USE_SIMPLE_THREADED_LEVEL3=1' |
| 22 | + # is a workaround for the matrix multiplication issues |
| 23 | + # https://lists.ugent.be/wws/arc/easybuild/2019-05/msg00006.html |
| 24 | + # https://github.com/eylenth/Openblas_matrix_issue |
| 25 | + 'OpenBLAS-%(version)s_disable-special-handling-of-OpenMP-thread-memory-allocation.patch', |
| 26 | +] |
| 27 | +checksums = [ |
| 28 | + '1f5e956f35f3acdd3c74516e955d797a320c2e0135e31d838cbdb3ea94d0eb33', # v0.3.1.tar.gz |
| 29 | + 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1', # large.tgz |
| 30 | + '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af', # timing.tgz |
| 31 | + # OpenBLAS-0.3.1_disable-special-handling-of-OpenMP-thread-memory-allocation.patch |
| 32 | + 'c85de436d6fff5d9cec1e24127ea9921551cdee373319dbade922d5cd3facd6a', |
| 33 | +] |
| 34 | + |
| 35 | +# added as workaround for the matrices multiplication issue. see the patches above |
| 36 | +buildopts = 'USE_SIMPLE_THREADED_LEVEL3=1' |
| 37 | + |
| 38 | +# extensive testing can be enabled by uncommenting the line below |
| 39 | +# runtest = 'PATH=.:$PATH lapack-timing' |
| 40 | + |
| 41 | +moduleclass = 'numlib' |
0 commit comments