PyFR/2.0.3-cpeGNU-24.03-rocm (PyFR-2.0.3-cpeGNU-24.03-rocm.eb)
Install with the EasyBuild-user module:
To access module help after installation and get reminded for which stacks and partitions the module is installed, usemodule spider PyFR/2.0.3-cpeGNU-24.03-rocm
.
EasyConfig:
# Created for LUMI by Orian Louant
easyblock = 'PythonBundle'
name = 'PyFR'
version = '2.0.3'
versionsuffix = '-rocm'
local_Mako_version = '1.3.5'
local_h5py_version = '3.11.0'
local_METIS_version = '5.1.0'
local_libspatialindex_version = '1.9.3'
local_pathspec_version = '0.12.1'
local_trove_classifiers_version = '2024.7.2'
local_hatchling_version = '1.25.0'
local_hatch_vcs_version = '0.4.0'
local_platformdirs_version = '4.2.2'
local_GiMMiK_version = '3.2.1'
local_Rtree_version = '1.3.0'
local_pytools_version = '2024.1.13'
local_pathspec_checksum = 'a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712'
local_trove_classifiers_checksum = '8328f2ac2ce3fd773cbb37c765a0ed7a83f89dc564c7d452f039b69249d0ac35'
local_hatchling_checksum = '7064631a512610b52250a4d3ff1bd81551d6d1431c4eb7b72e734df6c74f4262'
local_hatch_vcs_checksum = '093810748fe01db0d451fabcf2c1ac2688caefd232d4ede967090b1c1b07d9f7'
local_platformdirs_checksum = '38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3'
local_pytools_checksum = 'c78f5e29fa8492cd69860d4c89b5533e0bfbe694f2fa397b04eaf0cf92409d65'
local_GiMMiK_checksum = '048644bd71497eb07e144f2c22fdee49ba23e1cde5fb954c3c30c4e3ea23687a'
local_RTree_checksum = 'b36e9dd2dc60ffe3d02e367242d2c26f7281b00e1aaf0c39590442edaaadd916'
local_PyFR_checksum = '04fc479f8e49f7c4233338a70adacad615d0228a65242bb4563b0b3ee1f2c676'
homepage = 'https://www.pyfr.org/'
whatis = ['Description: PyFR is a framework for solving advection-diffusion type problems']
description = """
PyFR is an open-source Python based framework for solving advection-diffusion
type problems on streaming architectures using the Flux Reconstruction approach
of Huynh. The framework is designed to solve a range of governing systems on
mixed unstructured grids containing various element types. It is also designed
to target a range of hardware platforms via use of an in-built domain specific
language derived from the Mako templating engine. PyFR has the following
capabilities:
- Governing Equations - Euler, Navier Stokes
- Dimensionality - 2D, 3D
- Element Types - Triangles, Quadrilaterals, Hexahedra, Prisms, Tetrahedra, Pyramids
- Platforms - CPU Clusters, Nvidia GPU Clusters, AMD GPU Clusters
- Spatial Discretisation - High-Order Flux Reconstruction
- Temporal Discretisation - Explicit and Implicit (via Dual Time-Stepping)
- Precision - Single, Double
- Mesh Files Imported - Gmsh (.msh)
- Solution Files Exported - Unstructured VTK (.vtu, .pvtu)
"""
toolchain = {'name': 'cpeGNU', 'version': '24.03'}
toolchainopts = {'usempi': True}
builddependencies = [
('buildtools-python', '%(toolchain_version)s', '-cray-python%(pyshortver)s', True)
]
dependencies = [
('cray-python', EXTERNAL_MODULE),
('rocm', EXTERNAL_MODULE),
('Mako', local_Mako_version),
('libspatialindex', local_libspatialindex_version),
('h5py', local_h5py_version, '-parallel'),
('METIS', local_METIS_version),
]
exts_default_options = {
'source_urls': [PYPI_SOURCE],
'use_pip': True,
'use_pip_for_deps': False,
'download_dep_fail': True,
'sanity_pip_check': False,
}
exts_list = [
('pathspec', local_pathspec_version, {
'checksums' : [local_pathspec_checksum],
}),
('trove_classifiers', local_trove_classifiers_version, {
'checksums' : [local_trove_classifiers_checksum],
}),
('hatchling', local_hatchling_version, {
'checksums' : [local_hatchling_checksum],
}),
('hatch_vcs', local_hatch_vcs_version, {
'checksums' : [local_hatch_vcs_checksum],
}),
('platformdirs', local_platformdirs_version, {
'checksums' : [local_platformdirs_checksum],
}),
('pytools', local_pytools_version, {
'checksums' : [local_pytools_checksum],
}),
('gimmik', local_GiMMiK_version, {
'checksums' : [local_GiMMiK_checksum],
}),
('rtree', local_Rtree_version, {
'checksums' : [local_RTree_checksum],
}),
(name, version, {
'source_tmpl' : 'v%(version)s.tar.gz',
'source_urls' : ['https://github.com/PyFR/PyFR/archive/refs/tags/'],
'checksums' : [local_PyFR_checksum],
}),
]
modluafooter = """
setenv("PYFR_METIS_LIBRARY_PATH", pathJoin(os.getenv("EBROOTMETIS"), "lib/libmetis.so"))
"""
moduleclass = 'phys'