Skip to content

Failing build on zen4 #3

@laraPPr

Description

@laraPPr

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions