Skip to content

Conversation

@olesenm
Copy link

@olesenm olesenm commented Dec 14, 2020

Hi @boegel - a heads-up for the upcoming OpenFOAM-v2012

To help accommodate easybuild and other systems, we have an additional FOAM_CONFIG_ETC variable that we can hook into to quickly switch between different types of configurations (eg, intelmpi/openmpi, 64/32-bit, spdp/dp etc). It also can be used by easybuild to define its configuration, largely without patching the original sources.

The OpenFOAM internal mpi selector now recognizes "EASYBUILDMPI" (no patching needed), and the readline discovery can be customized with the usual config.sh mechanism, which means that easybuild can generate its settings without patching into the wmake/scripts directory. Using this approach, we are getting one step closer to being able to generate settings on-the-fly instead of patching.

In this preliminary changeset, I did however run into issues with actually applying the patch for the build. EasyBuild complains about not being able to determine the patch level. Must be something small I guess, but figured I should provide the changeset anyhow to provide a basis and avoid duplicate effort.

@boegel
Copy link
Member

boegel commented Dec 14, 2020

@olesenm Thanks a lot!

EasyBuild has some magic to automatically determine the patch level to use, which is derived from the first +++ line in the patch. Shouldn't be difficult to fix, indeed. Worst case we can hard specify the correct patch level (patches = [('example.patch', 1)], where 1 results in running patch -p1).

Any ETA for the OpenFOAM v2012 release?

@boegel boegel added this to the next release (4.3.3?) milestone Dec 14, 2020
@boegel boegel added the update label Dec 14, 2020
@olesenm
Copy link
Author

olesenm commented Dec 14, 2020

Any ETA for the OpenFOAM v2012 release?

Likely by Monday/Tuesday next week.

@olesenm
Copy link
Author

olesenm commented Dec 14, 2020

BTW: In case it is useful, the code-wiki is unfortunately a bit hard to find
https://develop.openfoam.com/Development/openfoam/-/wikis/home

If there is anything better that you would liked added in here:
https://develop.openfoam.com/Development/openfoam/-/wikis/building#packaging-systems

@olesenm
Copy link
Author

olesenm commented Dec 21, 2020

@boegel - on the final stretch...

@olesenm
Copy link
Author

olesenm commented Dec 23, 2020

@boegel
Copy link
Member

boegel commented Dec 27, 2020

@olesenm I tested this, and although the installation completes after ~1.5h, EasyBuild isn't entirely happy with it; the sanity check fails because the following files are missing in the installation:

OpenFOAM-v2012/platforms/linux64GccDPInt32Opt/lib/mpi/libPstream.so
OpenFOAM-v2012/platforms/linux64GccDPInt32Opt/lib/mpi/libptscotchDecomp.so
OpenFOAM-v2012/platforms/linux64GccDPInt32Opt/lib/libscotchDecomp.so

For libPstream.so, I found lib/eb-mpi/libPstream.so instead (eb-mpi rather than mpi).

For the other two, I couldn't find an equivalent, and I couldn't spot any obvious errors in the installation either.

Have there been changes in the v2012 that we should be aware of?

@olesenm
Copy link
Author

olesenm commented Dec 29, 2020

OpenFOAM-v2012/platforms/linux64GccDPInt32Opt/lib/mpi/libPstream.so
OpenFOAM-v2012/platforms/linux64GccDPInt32Opt/lib/mpi/libptscotchDecomp.so
OpenFOAM-v2012/platforms/linux64GccDPInt32Opt/lib/libscotchDecomp.so

For libPstream.so, I found lib/eb-mpi/libPstream.so instead (eb-mpi rather than mpi).

For the other two, I couldn't find an equivalent, and I couldn't spot any obvious errors in the installation either.

Have there been changes in the v2012 that we should be aware of?

This is either a feature or an oops. The mpi handling was adjusted to avoid potential conflicts. The tag "mpi" was adjusted to "sys-mpi" (since that it is), similarly "openmpi-system" became "sys-openmpi" etc. (gives lib/sys-mpi, lib/sys-openmpi, lib/sys-openmpi4 etc).
As part of the mpi adjustments, inserted handling of Easybuild with "eb-mpi" as its backend (yields lib/eb-mpi). Missed out on the fact that these would be trapped by a sanity check somewhere. Apologies for that.

Here are some relevant commits
https://develop.openfoam.com/Development/openfoam/-/commit/c91fc6f41cc4d4f1ac782d4f7fd8c35ca4e5bea8

https://develop.openfoam.com/Development/openfoam/-/commit/b89f38960651701ed76a87e21c7a566fe0714f3c

.. again apologies for breaking the sanity check

@olesenm
Copy link
Author

olesenm commented Dec 29, 2020

Might need to check if the scotch detection is working as expected/desired.
After Easybuild has generated its config.sh/ files for OpenFOAM, can check using

sh wmake/scripts/have_scotch -test

@furstj
Copy link
Contributor

furstj commented Jan 27, 2021

@olesenm Your proposed new layout requires patched openfaom easyblock. You can try it with easyblock from easybuilders/easybuild-easyblocks#2321.

Moreover, the correct patch level in openfoam easyconfig file should be 1, i.e.

patches = [ ('OpenFOAM-%(version)s-cleanup.patch', 1), 'OpenFOAM-v1906-wmake-ompi.patch', ]

@boegel
Copy link
Member

boegel commented Feb 4, 2021

@furstj Did you manage to install OpenFOAM v2012 with this PR and the updated easyblock from easybuilders/easybuild-easyblocks#2321? Did you have to change anything other than the patches part?

@furstj
Copy link
Contributor

furstj commented Feb 4, 2021

@boegel Yes, I was able to install OpenFOAMv2012 with updated easyblock when I changed patches part.

Micket
Micket previously requested changes Feb 4, 2021
@boegel
Copy link
Member

boegel commented Feb 4, 2021

@boegelbot please test @ generoso
CORE_CNT=16

@boegelbot
Copy link
Collaborator

@boegel: Request for testing this PR well received on generoso

PR test command 'EB_PR=11876 EB_ARGS= /apps/slurm/default/bin/sbatch --job-name test_PR_11876 --ntasks="16" ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 13782

Test results coming soon (I hope)...

Details

- notification for comment with ID 773560947 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
generoso-x-1 - Linux centos linux 8.2.2004, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/9dbd1ec6038ac8c342e92762edd84ebc for a full test report.

@boegel boegel changed the title WIP: preliminary layout for OpenFOAM-v2012 {cae}[foss/2020a] OpenFOAM v2012 Feb 5, 2021
@boegel boegel dismissed Micket’s stale review February 5, 2021 12:59

patch level fixed

Copy link
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@boegel
Copy link
Member

boegel commented Feb 5, 2021

Test report by @boegel
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
node3624.doduo.os - Linux RHEL 8.2, x86_64, AMD EPYC 7552 48-Core Processor (zen2), Python 3.6.8
See https://gist.github.com/2310e4c6f0ae93ac268cbdc4c9692caf for a full test report.

@boegel
Copy link
Member

boegel commented Feb 5, 2021

Test report by @boegel
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
node2613.swalot.os - Linux centos linux 7.9.2009, x86_64, Intel(R) Xeon(R) CPU E5-2660 v3 @ 2.60GHz (haswell), Python 3.6.8
See https://gist.github.com/d99af81344eeb68429606d1f71843ce8 for a full test report.

@easybuilders easybuilders deleted a comment from boegelbot Feb 13, 2021
@boegel
Copy link
Member

boegel commented Feb 14, 2021

Test report by @boegel
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
node3142.skitty.os - Linux centos linux 7.9.2009, x86_64, Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz, Python 3.6.8
See https://gist.github.com/8e4fe4ef37fc4b86abadd458425401ed for a full test report.

@boegel
Copy link
Member

boegel commented Feb 14, 2021

Going in, thanks @olesenm!

@boegel boegel merged commit 59324fa into easybuilders:develop Feb 14, 2021
@olesenm olesenm deleted the openfoam-pre2012 branch February 15, 2021 17:16
@Micket
Copy link
Contributor

Micket commented Feb 18, 2021

Test report by @Micket
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#2321
SUCCESS
Build succeeded for 8 out of 8 (1 easyconfigs in total)
vera-c1 - Linux centos linux 7.9.2009, x86_64, Intel Xeon Processor (Skylake), Python 2.7.5
See https://gist.github.com/4e15f6d0f92faa36206c596d9b5eaef9 for a full test report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants