Skip to content
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 new benchmark: Arepo #328

Open
wants to merge 12 commits into
base: main
Choose a base branch
from
Open

Conversation

gokmenkilic
Copy link
Collaborator

This PR address the enhancements in issue #327 .

Copy link
Member

@tkoskela tkoskela left a comment

Choose a reason for hiding this comment

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

Hi Gokmen. Sorry I did not notice this PR was open. I need to adjust my notification settings.

A couple of quick comments.

@gokmenkilic
Copy link
Collaborator Author

Hi Gokmen. Sorry I did not notice this PR was open. I need to adjust my notification settings.

A couple of quick comments.

Hi Thomas,

It is fine. I made the changes

@gokmenkilic gokmenkilic requested review from tkoskela and giordano June 21, 2024 09:35
Comment on lines +32 to +34
with open('Makefile.systype', 'w') as f:
f.write('SYSTYPE="Darwin"\n')

Copy link
Member

Choose a reason for hiding this comment

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

Is this supposed to be always set to Darwin, or only on macOS?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I am not quite sure but here is two way to do that:

The first thing after obtaining a local copy of the code is to set a SYSTYPE variable, either by typing:

export SYSYTPE="MySystype"
(assuming you run the bash-shell) or by copying the Template-Makefile.systype file:

cp Template-Makefile.systype Makefile.systype
and uncommenting the intended SYSTYPE variable in Makefile.systype.

Copy link
Member

@tkoskela tkoskela Aug 22, 2024

Choose a reason for hiding this comment

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

I think the question here was whether always setting this to Darwin is correct. On my Ubuntu laptop I need to manually change it to Ubuntu to get the include paths right, which is not ideal.

I would have assumed that you could just leave SYSTYPE undefined and spack would provide the right paths to the dependencies, but this does not seem to be the case. I didn't really dig deeper into the build system to find out what it's doing.

Copy link
Collaborator

Choose a reason for hiding this comment

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

This is definitely strange: I'd expect it to fail on a non-mac, which is what Tuomas is seeing, but it didn't fail for me on cosma. 🤔

Copy link
Member

Choose a reason for hiding this comment

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

Perhaps on cosma when you have the right modules loaded you don't need to set include paths in the makefile and the SYSTYPE doesn't matter. I would like the build system to work without hard-coded paths, that would make life a lot easier.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I agree with @tkoskela, it worth to escape hard-coded paths. They could cause mess for general perspective.

@gokmenkilic gokmenkilic requested a review from giordano July 1, 2024 11:14
- Fix variant name - independent of cosma
- Fix OS name in spack environment for cosma for new OS after upgrade
- Add some new packages and compilers to spack environment for cosma post-upgrade (they may or may not be needed for AREPO...)
Comment on lines +18 to +20
variant('fftw', default=False, description='FFTW support')
variant('hdf5', default=True, description='HDF5 support')
variant('hwloc', default=False, description='HWLOC support')
Copy link
Member

Choose a reason for hiding this comment

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

How do these work? I don't see them being used to modify the build anywhere.

Copy link
Collaborator

Choose a reason for hiding this comment

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

See just below:

depends_on('fftw',  when='+fftw')

It worked for me, default and variants.

Copy link
Member

Choose a reason for hiding this comment

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

Yeah, but presumably this information should get passed to make somehow to build it without fftw

Copy link
Collaborator

Choose a reason for hiding this comment

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

Oh... Do we even want to build without fftw? The (very divergent) branch I'm looking at needs it by default. (I'll add a variant for that in another PR, once we merge this)

Copy link
Member

@tkoskela tkoskela Aug 22, 2024

Choose a reason for hiding this comment

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

Well, why have a variant for fftw if it's always required. Also default is False so by default FFTW support is off (but it doesn't actually do anything, other than remove fftw from the dependencies, which I imagine can cause issues)

Copy link
Member

Choose a reason for hiding this comment

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

Unless I'm misunderstanding what 'FFTW Support' means here?

Copy link
Member

Choose a reason for hiding this comment

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

Any thoughts on this?

Comment on lines +32 to +34
with open('Makefile.systype', 'w') as f:
f.write('SYSTYPE="Darwin"\n')

Copy link
Member

@tkoskela tkoskela Aug 22, 2024

Choose a reason for hiding this comment

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

I think the question here was whether always setting this to Darwin is correct. On my Ubuntu laptop I need to manually change it to Ubuntu to get the include paths right, which is not ideal.

I would have assumed that you could just leave SYSTYPE undefined and spack would provide the right paths to the dependencies, but this does not seem to be the case. I didn't really dig deeper into the build system to find out what it's doing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants