-
Notifications
You must be signed in to change notification settings - Fork 283
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add easyblock for Score-P #304
Conversation
@berndmohr: I implemented an easyblock for Any comments/remarks? This works fine on my end, but maybe you could give it a spin too using the new |
@boegel: I do NOT like the direction this is taking. My team spent months to make the GNU autotools working for HPC setups (Fortran, compilers other GNu and Intel, etc etc) -- it is a perfect clean (GNU) configure/make/make install setup. It does not have any specific stuff in it, just the usual --with-something=XXX options which all other packages have too. So if this cannot be handled by the generic ConfigureMake EasyBlock, there is something wrong with the generic ConfigureMake EasyBlock! It also would mean that I have to do this every time a package needs to specify something /lib/lib64 like in configuration options, I have to implement an easyblock, just to be able to call "get_software_libdir"?1? I understand your wish to a quick solution to get this into 1.9 in time, but as I said the real fix would be the make the generic ConfigureMake EasyBlock able to handle situations like these. Cannot you implement |
@berndmohr: Please don't take this easyblock as an insult to Score-P. The main reason I implemented it is because several things have to be kept in sync in the easyconfig file:
It's true that the Supporting the # set binutils library subdir that contains libbfd.a, there should be only one (hence the True)
configopts = "--with-libbfd=LIB_PATH('binutils', True, 'libbfd.a')" If/when we support this, EasyBuild will replace the So, to summarize: this easyblock makes writing easyconfig files for Score-P a lot more simple. You simply specify a toolchain and a list of dependencies, and EasyBuild will do the rest. People who want to build Score-P with EasyBuild don't have to worry that you need to use I feel this is still relevant in the wake of easyconfig format 2.x, since it will still make the Score-P easyconfig file a lot less verbose (no explicit |
@boegel: I never saw tbis as an insult for Score-P; I am just thinking that fat flexible easyconfigs are the way to go; leaving easyblocks to generic stuff and really nasty special stuff ;-) because in the long run easyconfigs are easier to contribute and maintain for a larger community, as writing easyblocks requires to be an easybuild expert (developer). |
IMHO, people become easyblock-averse for two possible reasons:
From my point of view, each time I have to replace 1 line of easyconfig with X lines in easyblock, without getting extra functionality, I get suspicious if I do the task right; but you may have other takes... |
self.log.error("Compiler family %s not supported yet (only: %s)" % (comp_fam, ', '.join(comp_opts.keys()))) | ||
|
||
mpi_opts = { | ||
toolchain.INTELMPI: 'intel', # intel2? intelpoe? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
=> intel2 very likely
intel: Intel MPI V1.X
intel2: Intel MPI V2.x or later
intelpoe: IBM POE MPI library for Intel platforms
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure what you mean by Intel MPI v1.x vs v2.x (but Intel is probably to blame here, not you ;-)).
How do I figure out whether the impi/4.1.0.027
module I have is v1.x or v2.x?
Can you point me to some documentation w.r.t. --with-mpi
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
visually reviewed this easyblock;
no further comments other than the existing ones about code factorization etc;
remember the intel
-> intel2
needed transition
impi/4.1.0.027 is version 4.X so it is "v2.x or later" so it is "intel2" ;-) so impi/2..., impi/3...., should be all mapped to intel2 |
… the Score-P style of configuration
…Intel MPI in Score-P easyblock
Score-P easyblock was cleaned up to also support other software packages, e.g. Scalasca v2.x, Cube 4.x, OTF2, LWM2 see easybuilders/easybuild-easyconfigs#505 for the related discussion Thanks @berndmohr and @fgeorgatos for the feedback on this! |
This depends on easybuilders/easybuild-framework#754