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

Failing build on zen4 #3

Open
laraPPr opened this issue Feb 5, 2025 · 0 comments
Open

Failing build on zen4 #3

laraPPr opened this issue Feb 5, 2025 · 0 comments

Comments

@laraPPr
Copy link
Collaborator

laraPPr commented Feb 5, 2025

For zen4 builds we are using a hook from the EESSI/software-layer:

def pre_configure_hook_LAMMPS_zen4(self, *args, **kwargs):
    """
    pre-configure hook for LAMMPS:
    - set kokkos_arch on x86_64/amd/zen4
    """

    cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR')
    if self.name == 'LAMMPS':
        if self.version in ('2Aug2023_update2', '2Aug2023_update4', '29Aug2024'):
            if get_cpu_architecture() == X86_64:
                if cpu_target == CPU_TARGET_ZEN4:
                    # There is no support for ZEN4 in LAMMPS yet so falling back to ZEN3
                    self.cfg['kokkos_arch'] = 'ZEN3'
    else:
        raise EasyBuildError("LAMMPS-specific hook triggered for non-LAMMPS easyconfig?!")

This does a check of self.version. when using software-commit this value is set to the commit that was passed through the command or easystack. Because of this the necessary changes are not done for kokkos_arch

A possible way to resolve is to find out what the version is similarly as we do in the EasyBlock:

path = self.builddir
if os.path.exists(path) and os.listdir(path):
            txt = read_file(os.path.join(path, 'src', 'version.h'))
            result = re.search(r'(?<=LAMMPS_VERSION ")\d+ \S+ \d+', txt)
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

No branches or pull requests

1 participant