If you rely on the easyconfigs that ship with easybuild, you can get reproducible results by sticking to the same easybuild version.
PRs in easyconfigs have been accepted in the past, if they fixed bugs or enhanced functionality, and it should be like that IMO. That said, I don’t use OpenBLAS, so I have no strong feeling in either direction for this particular case. Cheers, Damian From: <easybuild-requ...@lists.ugent.be> on behalf of "Dey, John F" <jf...@fredhutch.org> Reply-To: "easybuild@lists.ugent.be" <easybuild@lists.ugent.be> Date: Tuesday, 28. May 2019 at 17:26 To: "easybuild@lists.ugent.be" <easybuild@lists.ugent.be> Subject: Re: [easybuild] Openblas(foss) matrix issue If this fix was submitted as a PR for OpenBLAS 0.3.1 which is part of the foss-2018b toolchain would it be accepted? One of the main purposes of EasyBuild is to facilitate reproducible science. Changing a published easyconfig, is breaking the rules. There is a huge amount of flawed software that we need to deal with, but the OpenBLAS issue will affect analysis results. Rebuilding OpenBLAS in place should not create any issues; I assume that nothing is statically linked to OpenBLAS. Moving to 2019a is not an option for me at this time, -- John Dey HPC Operations Scientific Computing O 206.667.4308<tel:(206)%20667-4308> M 360.649.2731<tel:(360)%20649-2731> E jf...@fredhutch.org<mailto:jf...@fredhutch.org> [signature_639330222] Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N<https://maps.google.com/?q=1100+Fairview+Ave.+N&entry=gmail&source=g>., Mail Stop J3-516 Seattle, WA 98109 fredhutch.org<http://www.fredhutch.org/> From: <easybuild-requ...@lists.ugent.be> on behalf of Carlos Fenoy <fenoym...@gmail.com> Reply-To: "easybuild@lists.ugent.be" <easybuild@lists.ugent.be> Date: Tuesday, May 28, 2019 at 5:32 AM To: easybuild <easybuild@lists.ugent.be> Subject: Re: [easybuild] Openblas(foss) matrix issue Hi, After fighting a long time with this, we managed to get a solution that passes both the "Openblas_matrix_issue" and "BLAS_tester" test suites. To solve the issue we had to apply a patch and add a new build parameter (USE_SIMPLE_THREADED_LEVEL3=1) to OpenBLAS to make it work with multiple openmp threads. This is how the buildopts line looks like for us: buildopts = ' USE_SIMPLE_THREADED_LEVEL3=1 BINARY=64 USE_THREAD=1 USE_OPENMP=1 CC="$CC" FC="$F77" DYNAMIC_ARCH=1' And the patch, we got it from this commit on the OpenBLAS repo: https://github.com/xianyi/OpenBLAS/commit/b14f44d2adbe1ec8ede0cdf06fb8b09f3c4b6e43<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_xianyi_OpenBLAS_commit_b14f44d2adbe1ec8ede0cdf06fb8b09f3c4b6e43&d=DwMFaQ&c=eRAMFD45gAfqt84VtBcfhQ&r=3TR-iteG1SyRqQ5yubQg-_2KIAToz9bj5dZrRdW36Hc&m=7KHaWVsIxKa5sDpJjJICIsYxR8q-MepJUDMgU7AA-3o&s=OablXo14euTScZg4SKMDgHQje2Ush-zVGAbHbOnmfYY&e=> (you can get the patch by adding .patch at the end of the URL) Regards, Carlos On Mon, May 27, 2019 at 6:15 PM Pablo Escobar Lopez <pablo.escobarlo...@unibas.ch<mailto:pablo.escobarlo...@unibas.ch>> wrote: Hi, did anyone found a working patch or workaround for the matrix issue when using OpenBLAS-0.3.1 ? After a lot of try&error I couldn't pass the tests in https://github.com/eylenth/Openblas_matrix_issue<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_eylenth_Openblas-5Fmatrix-5Fissue&d=DwMFaQ&c=eRAMFD45gAfqt84VtBcfhQ&r=3TR-iteG1SyRqQ5yubQg-_2KIAToz9bj5dZrRdW36Hc&m=7KHaWVsIxKa5sDpJjJICIsYxR8q-MepJUDMgU7AA-3o&s=TExoymruAD12Fab-0XkLZdeeTtYMhJwNUWSMer8Pf4Y&e=> when using https://github.com/easybuilders/easybuild-easyconfigs/blob/master/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.1-GCC-7.3.0-2.30.eb<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_easybuilders_easybuild-2Deasyconfigs_blob_master_easybuild_easyconfigs_o_OpenBLAS_OpenBLAS-2D0.3.1-2DGCC-2D7.3.0-2D2.30.eb&d=DwMFaQ&c=eRAMFD45gAfqt84VtBcfhQ&r=3TR-iteG1SyRqQ5yubQg-_2KIAToz9bj5dZrRdW36Hc&m=7KHaWVsIxKa5sDpJjJICIsYxR8q-MepJUDMgU7AA-3o&s=faT0z2Z2fXzk3DW3aSoXMe1TUc86cGIhPds_d8XHUFg&e=> . No matter what patches, toolchainopts or buildopts I use (and I have tried few different combinations) . Is anyone able to pass the tests using openblas-0.3.1 ? I could pass the tests using openblas-0.3.5 but upgrading my foss/2018b toolchain would be quite messy because I use RPATH. The less intrusive solution for my users would be to be able to patch openblas-0.3.1 somehow but I couldn't find a working solution. Any suggestions? regards, Pablo. p.s. in a related topic, IMHO unless there is a proper workaround I would suggest to stop providing openblas-0.3.1 with easybuild. Right now we are distributing a broken library On Tue, May 7, 2019 at 6:34 PM Mikael Öhman <micket...@gmail.com<mailto:micket...@gmail.com>> wrote: Hi Thomas, I can also confirm these issues. I tried rebuilding OpenBLAS+R after the fix in #7180, but I still saw the same problems. Very large matrix-matrix multiplications randomly gave the wrong result. Very large errors. The larger the matrix, the more frequent the errors. In the end, I compiled an intel-version (but I had to remove a few extensions that didn't build) and removed my Foss version from our installations. Perhaps it's related to hardware; I saw this on happen skylake servers. I haven't had time to check if this https://github.com/easybuilders/easybuild-easyconfigs/issues/8197<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_easybuilders_easybuild-2Deasyconfigs_issues_8197&d=DwMFaQ&c=eRAMFD45gAfqt84VtBcfhQ&r=3TR-iteG1SyRqQ5yubQg-_2KIAToz9bj5dZrRdW36Hc&m=7KHaWVsIxKa5sDpJjJICIsYxR8q-MepJUDMgU7AA-3o&s=RMROVzKOqcVBnJr-PzJIYIB3wcJGjeHZfx07zOfk29Y&e=> also affects 0.3.1 Best regards, Mikael On Tue, May 7, 2019 at 6:12 PM Thomas Eylenbosch <thomas.eylenbosch....@agro.basf-se.com<mailto:thomas.eylenbosch....@agro.basf-se.com>> wrote: Hello Some of our end users reported a calculation issue with matrices when they are working with a foss/2018b module I reproduced this error with Python and R that are compiled with the foss/2018b toolchain, the output returns unexcepted results. Then I reproduced this error with Python and R that are compiled with the foss/2016b toolchain , then it gives me the expected behavior. You can reproduce this error with the following github repository: https://github.com/eylenth/Openblas_matrix_issue<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_eylenth_Openblas-5Fmatrix-5Fissue&d=DwMFaQ&c=eRAMFD45gAfqt84VtBcfhQ&r=3TR-iteG1SyRqQ5yubQg-_2KIAToz9bj5dZrRdW36Hc&m=7KHaWVsIxKa5sDpJjJICIsYxR8q-MepJUDMgU7AA-3o&s=TExoymruAD12Fab-0XkLZdeeTtYMhJwNUWSMer8Pf4Y&e=> I have also tried to recompile the OpenBLAS-0.3.1-GCC-7.3.0-2.30.eb easyconfig file with “toolchainopts = {'vectorize': False}” ( cfr. https://github.com/easybuilders/easybuild-easyconfigs/issues/7180<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_easybuilders_easybuild-2Deasyconfigs_issues_7180&d=DwMFaQ&c=eRAMFD45gAfqt84VtBcfhQ&r=3TR-iteG1SyRqQ5yubQg-_2KIAToz9bj5dZrRdW36Hc&m=7KHaWVsIxKa5sDpJjJICIsYxR8q-MepJUDMgU7AA-3o&s=lNOZuvwF_eL4Al8AIZrEB-s9R4-uGoEpDhpcI6syET4&e=>) But is still giving me unexpected behavior Can someone try to reproduce the error with the R/Python(foss/2018b) modules. Or can someone give me feedback on this? Thank you in advance. Met vriendelijke groet / Kind regards / Beste Grüße Thomas Eylenbosch Ext: Gluo N.V. BASF Agricultural Solutions Belgium NV Technologiepark 101 B-9052 Ghent (Zwijnaarde) BELGIUM E-mail: thomas.eylenbosch....@agro.basf-se.com<mailto:thomas.eylenbosch....@agro.basf-se.com> [cid:image001.jpg@01D42B1E.FC3C98F0] BASF Agricultural Solutions Belgium NV, Registered Office: 9052 Gent, Belgium Registration: RPR Gent: 0685.756.742 -- Pablo Escobar López Linux/HPC systems engineer sciCORE, University of Basel SIB Swiss Institute of Bioinformatics ------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------ Forschungszentrum Juelich GmbH 52425 Juelich Sitz der Gesellschaft: Juelich Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498 Vorsitzender des Aufsichtsrats: MinDir Volker Rieke Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender), Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt, Prof. Dr. Sebastian M. Schmidt ------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------