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

cleanup in Mesa easyblock + add custom sanity check step #17

Merged
merged 7 commits into from
Mar 23, 2020

Conversation

boegel
Copy link

@boegel boegel commented Mar 21, 2020

@edmondac Some additional changes for easybuilders#1892 (it got a little bit out of hand, but it all makes sense imho...)

}
# determine list of values to pass to swr-arches configuration option
cpu_features = get_cpu_features()
self.swr_arches = sorted([feat_to_swrarch[key] for key in feat_to_swrarch if key in cpu_features])

Choose a reason for hiding this comment

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

Why not "swrarch for feat, swrarch in feat_to_swrarch.items()..." as it was? More descriptive (and faster)

Copy link
Author

Choose a reason for hiding this comment

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

well, ok... done in 61f5389


return super(EB_Mesa, self).configure_step()

def install_step(self):

Choose a reason for hiding this comment

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

Where is this coming from? internal header doesn't sound like something a user would need. Also why is it not installed if it is meant to?

The description sounds like it belongs to a library not installed. Wouldn't that be bad if the header exist but the library does not?

Copy link
Author

Choose a reason for hiding this comment

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

see easybuilders/easybuild-easyconfigs#9129

It seems like this is no longer needed for the most recent Mesa versions (hence the os.path.exists check)

@boegel boegel changed the title cleanup in Mesa easybloc + add custom sanity check step cleanup in Mesa easyblock + add custom sanity check step Mar 21, 2020
Comment on lines 100 to 101
gl_inc_files = ['glext.h', 'gl_mangle.h', 'glx.h', 'osmesa.h', 'gl.h', 'glxext.h', 'glx_mangle.h']
gles_inc_files = [('GLES', 'gl.h'), ('GLES2', 'gl2.h'), ('GLES3', 'gl3.h')]
Copy link

Choose a reason for hiding this comment

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

These sanity checks will fail with Mesa v20. There's been some changes in v20 and now most of these headers are no longer installed if building with libglvnd (as we do in EB). You can check the changes between v19 and v20 in include/meson.build. The list of headers I used in easybuilders/easybuild-easyconfigs#10175 reflects what is installed in v20.

Copy link
Author

@boegel boegel Mar 23, 2020

Choose a reason for hiding this comment

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

@lexming fixed in 4255b23

Copy link

Choose a reason for hiding this comment

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

It's good now 👍
With Mesa v20 using -Dgallium-drivers='swrast,swr' -Dswr-arches=avx,avx2,skx, the sanity checks for

{'files': ['lib/libOSMesa.so', 'include/EGL/eglmesaext.h', 'include/EGL/eglextchromium.h', 'include/GL/osmesa.h', 'include/GL/internal/dri_interface.h', 'lib/libswrAVX.so', 'lib/libswrAVX2.so', 'lib/libswrSKX.so'], 'dirs': ['include/GL/internal']}


shlib_ext = get_shared_lib_ext()

if LooseVersion(self.version) >= LooseVersion('20.0'):

Choose a reason for hiding this comment

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

Just thinking: If this changes so considerably between versions, wouldn't this be better done in the EC?

Copy link
Author

Choose a reason for hiding this comment

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

Time will tell.

Going forward we can always easily overrule the easyblock by including sanity_check_paths in the easyconfig file.

Choose a reason for hiding this comment

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

Ah they take precedence. Didn't know that, than 👍

Copy link

@lexming lexming left a comment

Choose a reason for hiding this comment

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

LGTM

@edmondac edmondac merged commit b1418e9 into bear-rsg:mesa-for-power9 Mar 23, 2020
@boegel boegel deleted the mesa-for-power9 branch March 23, 2020 12:17
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