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

Kwant version 1.5.0 #410

Open
AdroitErudite opened this issue Nov 22, 2024 · 2 comments
Open

Kwant version 1.5.0 #410

AdroitErudite opened this issue Nov 22, 2024 · 2 comments
Labels
build-request Request to build software

Comments

@AdroitErudite
Copy link

I would like to request the most recent version of the Kwant python package for the current intel 2022 toolchain. The older Kwant 1.4.1 easybuild configuration is at https://github.com/easybuilders/easybuild-easyconfigs/tree/develop/easybuild/easyconfigs/k/kwant, but 1.5.0 requires newer libraries (matplotlib 3.9.1, mpmath 1.3.0, sympy 1.13.0, tinyarray 1.2.4, qsymm 1.4.0).

Kwant also specifically needs the "mpiseq" version of MUMPS. The 'metis-seq' easybuild configuration for MUMPS-5.5.1 does not exist for intel yet.

I calculated the checksums of the required packages for the current version of Python 3.9.6 package files that I believe the CCR should use and made a mock up for a kwant-1.5.0-intel-2022.00-Python-3.9.6.eb file:

easyblock = 'PythonBundle'

name = 'kwant'
version = '1.5.0'
versionsuffix = '-Python-%(pyver)s'

homepage = 'https://kwant-project.org/'
description = """Kwant is a free (open source), powerful, and easy to use Python package for 
 numerical calculations on tight-binding models with a strong focus on quantum transport."""

toolchain = {'name': 'intel', 'version': '2022.00'}

dependencies = [
    ('MUMPS', '5.5.1', '-metis-seq'),  # kwant supports only the "mpiseq" version of MUMPS
    ('Python', '3.9.6'),
    ('matplotlib', '3.9.1', versionsuffix),
]

use_pip = True

exts_list = [
    ('mpmath', '1.3.0', {
        'checksums': ['a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c'],
    }),
    ('sympy', '1.13.0', {
        'checksums': ['6b0b32a4673fb91bd3cac3b55406c8e01d53ae22780be467301cc452f6680c92'],
    }),
    ('tinyarray', '1.2.4', {
        'checksums': ['77fc5e19963180bcb55f0bb07ca0e06141f51fb897157a7abfc2c44ef818b640'],
    }),
    ('qsymm', '1.4.0', {
        'checksums': ['69ca0b66ac96c5f6df7297f35830cde28709fb7275b2b49423b56b0939cca849'],
    }),
    (name, version, {
        'checksums': [
            '9859451d0e20364ce30777a5dd7ecb7a06956822612935a408ed4d81e5c8321b'], # kwant-1.5.0.tar.gz
    }),
]

sanity_check_commands = ["python3 -c 'import kwant; kwant.test()'"]

moduleclass = 'phys'

Only other noteworthy mention is that newest versions of numpy seem to break the kwant installation. I used numpy==1.26.4 for my personal installation.

@dsajdak
Copy link
Contributor

dsajdak commented Nov 22, 2024

@AdroitErudite if a dependency required for your software doesn't exist yet, I would recommend trying to use the foss/2021b toolchain rather than the intel one.

@AdroitErudite
Copy link
Author

This would require the sequential single core version of MUMPS but it appears only as the standard version in the easybuild configs. So the alternative toolchains also have similar missing dependencies.

@dsajdak dsajdak added the build-request Request to build software label Nov 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build-request Request to build software
Projects
None yet
Development

No branches or pull requests

2 participants