diff --git a/d/DFTB+/DFTB+-24.1-foss-2023a-CUDA-12.1.1.eb b/d/DFTB+/DFTB+-24.1-foss-2023a-CUDA-12.1.1.eb
new file mode 100644
index 00000000..2c908aff
--- /dev/null
+++ b/d/DFTB+/DFTB+-24.1-foss-2023a-CUDA-12.1.1.eb
@@ -0,0 +1,92 @@
+# IT4Innovations
+# PH 2024
+
+easyblock = 'CMakeMake'
+
+name = 'DFTB+'
+version = '24.1'
+versionsuffix = '-CUDA-12.1.1'
+
+homepage = 'https://www.dftb-plus.info'
+description = """DFTB+ is a fast and efficient versatile quantum mechanical simulation package.
+It is based on the Density Functional Tight Binding (DFTB) method, containing
+almost all of the useful extensions which have been developed for the DFTB
+framework so far.  Using DFTB+ you can carry out quantum mechanical simulations
+like with ab-initio density functional theory based packages, but in an
+approximate way gaining typically around two order of magnitude in speed."""
+
+toolchain = {'name': 'foss', 'version': '2023a'}
+
+local_external_dir = '%%(builddir)s/dftbplus-%%(version)s/external/%s/origin/'
+local_external_extract = 'mkdir -p %s && tar -C %s' % (local_external_dir, local_external_dir)
+local_external_extract += ' --strip-components=1 -xzf %%s'
+
+sources = [
+    {
+        'source_urls': ['https://github.com/dftbplus/dftbplus/archive'],
+        'download_filename': '%(version)s.tar.gz',
+        'filename': SOURCE_TAR_GZ,
+    },
+    {
+        'source_urls': ['https://github.com/dftbplus/testparams/archive'],
+        'download_filename': 'd0ea16df2b56d14c7c3dc9329a8d3bac9fea50a0.tar.gz',
+        'filename': 'slakos-data-%(version)s.tar.gz',
+        'extract_cmd': local_external_extract % ('slakos', 'slakos'),
+    },
+]
+checksums = [
+    '776d83779666e06bf2930c3b1665cdb8e7409b8003e33e0178fbae8b47f5e0b1',  # DFTB+ 24.1
+    '9b64193368a13ae7c238399da8be2b3730a0f3273f9bf6c8054b2ff57d748823',       # slakos-data
+]
+
+builddependencies = [
+    ('CMake', '3.26.3'),
+]
+
+dependencies = [
+    ('dftd3-lib', '0.9.2'),
+    ('tblite', '0.3.0'),
+    # ('arpack-ng', '3.9.0'), # designed for non-MPI, single-node computations
+    ('magma', '2.7.2', '-CUDA-12.1.1'),
+    #('ELPA', '2022.05.001','-CUDA-12.1.1'),
+    ('ELSI', '2.11.0', '-PEXSI-ELPA-2023.05.001-foss-2023a-CUDA-12.1.1'),
+    #('ScaLAPACK', '2.2.0', '-fb') # ScaLAPACK-2.2.0-gompi-2023a-fb.eb
+    ('ScalapackFx', '1.2'),
+]
+
+configopts = ' -DWITH_DFTD3=1 -DCOMPILE_DFTD3=0 -DDFTD3_INCS="-I$EBROOTDFTD3MINLIB/include"'
+configopts += ' -DDFTD3_LIBS="-L$EBROOTDFTD3MINLIB/lib -ldftd3"'
+configopts += ' -DWITH_TBLITE=1 '
+#configopts += ' -DWITH_ARPACK=1 -DARPACK_LIBS="-L$EBROOTARPACKMINNG/lib -larpack" -DARPACK_NEEDS_LAPACK=1'
+configopts += ' -DWITH_ARPACK=0'
+
+# Enable GPU support
+configopts += ' -DWITH_GPU=1 '
+configopts += ' -DMAGMA_INCS="-I$EBROOTMAGMA/include" -DMAGMA_LIBS="-L$EBROOTMAGMA/lib -lmagma"'
+
+# Enable ELPA
+configopts += ' -DWITH_ELPA=1 '
+configopts += ' -DELPA_INCS="-I$EBROOTELPA/include" -DELPA_LIBS="-L$EBROOTELPA/lib -lelpa"'
+
+# Enable ELSI
+configopts += ' -DWITH_ELSI=1 '
+configopts += ' -DELSI_INCS="-I$EBROOTELSI/include" -DELSI_LIBS="-L$EBROOTELSI/lib -lelsi"'
+
+# Building with ELSI requires MPI-parallel build enabled
+configopts += ' -DWITH_MPI=1 '
+
+# Enable ScaLAPACK
+configopts += ' -DWITH_SCALAPACK=1 '  
+#configopts += ' -DSCALAPACK_LIBS="-L$EBROOTSCALAPACK/lib -lscalapack" '
+configopts += '-DSCALAPACK_LIBRARY="-L$EBROOTSCALAPACK/lib -lscalapack" '
+#configopts += ' -DSCALAPACK_INCS="-I$EBROOTSCALAPACK/include" '
+
+
+installopts = 'INSTALLDIR="%(installdir)s"'
+
+sanity_check_paths = {
+    'files': ['bin/' + x for x in ['dftb+', 'modes', 'waveplot']],
+    'dirs': []
+}
+
+moduleclass = 'phys'
diff --git a/e/ELPA/ELPA-2020.11.001-foss-2023a-CUDA-12.1.1.eb b/e/ELPA/ELPA-2020.11.001-foss-2023a-CUDA-12.1.1.eb
new file mode 100644
index 00000000..17546fcd
--- /dev/null
+++ b/e/ELPA/ELPA-2020.11.001-foss-2023a-CUDA-12.1.1.eb
@@ -0,0 +1,38 @@
+# IT4Innovations
+# PH 2024
+
+name = 'ELPA'
+version = '2020.11.001'
+versionsuffix = '-CUDA-12.1.1'
+
+homepage = 'https://elpa.mpcdf.mpg.de/'
+description = """Eigenvalue SoLvers for Petaflop-Applications."""
+
+toolchain = {'name': 'foss', 'version': '2023a'}
+toolchainopts = {'openmp': True, 'usempi': True}
+
+source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/']
+sources = [SOURCELOWER_TAR_GZ]
+checksums = ['15591f142eeaa98ab3201d27ca9ac328e21beabf0803b011a04183fcaf6efdde']
+
+builddependencies = [
+    ('Autotools', '20220317'),
+    # remove_xcompiler script requires 'python' command,
+    ('Python', '3.11.3'),
+    ('Perl', '5.36.1'),
+]
+
+dependencies = [
+    ('CUDA', '12.1.1', '', SYSTEM),
+]
+cuda_compute_capabilities = ['8.0']
+
+
+configopts = '--enable-nvidia-gpu '
+
+# When building in parallel, the file test_setup_mpi.mod is sometimes
+# used before it is built, leading to an error.  This must be a bug in
+# the makefile affecting parallel builds.
+maxparallel = 1
+
+moduleclass = 'math'
diff --git a/e/ELPA/ELPA-2022.05.001-foss-2023a-CUDA-12.1.1.eb b/e/ELPA/ELPA-2022.05.001-foss-2023a-CUDA-12.1.1.eb
new file mode 100644
index 00000000..5c333c4c
--- /dev/null
+++ b/e/ELPA/ELPA-2022.05.001-foss-2023a-CUDA-12.1.1.eb
@@ -0,0 +1,51 @@
+# IT4Innovations
+# PH 2024
+
+name = 'ELPA'
+version = '2022.05.001'
+versionsuffix = '-CUDA-12.1.1'
+
+homepage = 'https://elpa.mpcdf.mpg.de/'
+description = """Eigenvalue SoLvers for Petaflop-Applications."""
+
+toolchain = {'name': 'foss', 'version': '2023a'}
+toolchainopts = {'openmp': True, 'usempi': True}
+
+source_urls = ['https://gitlab.mpcdf.mpg.de/elpa/elpa/-/archive/new_release_%(version)s/']
+sources = ['elpa-new_release_%(version)s.tar.gz']
+patches = ['%(name)s-%(version)s_fix_hardcoded_perl_path.patch']
+checksums = [
+    {'elpa-new_release_2022.05.001.tar.gz': '96ff14abe53cc3652ba290a0e309d238147fbbfe054d783efee9890f5f23802d'},
+    {'ELPA-2022.05.001_fix_hardcoded_perl_path.patch':
+     '1666a133393b3947a80069ae170a51f4d574956f384c01b7018e4b551726a3a2'},
+]
+
+builddependencies = [
+    ('Autotools', '20220317'),
+    # remove_xcompiler script requires 'python' command,
+    ('Python', '3.11.3'),
+    ('Perl', '5.36.1'),
+]
+
+dependencies = [
+    ('CUDA', '12.1.1', '', SYSTEM),
+]
+cuda_compute_capabilities = ['8.0']
+
+preconfigopts = './autogen.sh && '
+preconfigopts += 'export LDFLAGS="-lm $LDFLAGS" && '
+preconfigopts += 'autoreconf && '
+
+# If the build is running in a batch job, make sure Intel libmpi does
+# not try to use Slurm to run the MPI_THREAD test code that ELPA's
+# configure is running without "mpirun".
+preconfigopts += 'unset SLURM_JOBID && unset SLURM_NODELIST && unset I_MPI_PMI_LIBRARY && '
+
+configopts = '--enable-nvidia-gpu '
+
+# When building in parallel, the file test_setup_mpi.mod is sometimes
+# used before it is built, leading to an error.  This must be a bug in
+# the makefile affecting parallel builds.
+maxparallel = 1
+
+moduleclass = 'math'
diff --git a/e/ELPA/ELPA-2023.05.001-foss-2023a-CUDA-12.1.1.eb b/e/ELPA/ELPA-2023.05.001-foss-2023a-CUDA-12.1.1.eb
new file mode 100644
index 00000000..86181622
--- /dev/null
+++ b/e/ELPA/ELPA-2023.05.001-foss-2023a-CUDA-12.1.1.eb
@@ -0,0 +1,53 @@
+# IT4Innovations
+# PH 2024
+
+name = 'ELPA'
+version = '2023.05.001'
+versionsuffix = '-CUDA-12.1.1'
+
+homepage = 'https://elpa.mpcdf.mpg.de/'
+description = """Eigenvalue SoLvers for Petaflop-Applications."""
+
+toolchain = {'name': 'foss', 'version': '2023a'}
+toolchainopts = {'openmp': True, 'usempi': True}
+
+source_urls = ['https://gitlab.mpcdf.mpg.de/elpa/elpa/-/archive/new_release_%(version)s/']
+sources = ['elpa-new_release_%(version)s.tar.gz']
+patches = [
+    '%(name)s-%(version)s_fix_hardcoded_perl_path.patch',
+    '%(name)s-%(version)s_fix_AVX512_support.patch',
+]
+checksums = [
+    {'%(namelower)s-new_release_%(version)s.tar.gz':
+     '7e07ca287ab07c0a73d97df71d5a5431c847b8e4d5c759aae99e12672e6decf3'},
+    {'%(name)s-%(version)s_fix_hardcoded_perl_path.patch':
+     '0548105065777a2ed07dde306636251c4f96e555a801647564de37d1ddd7b0b5'},
+    {'%(name)s-%(version)s_fix_AVX512_support.patch':
+     'ecf08b64fe1da432a218040fa45d4ecfbb3269d58cb018b12da5a2d854bf96be'},
+]
+
+builddependencies = [
+    ('Autotools', '20220317'),
+    # remove_xcompiler script requires 'python' command,
+    ('Python', '3.11.3'),
+    ('Perl', '5.36.1'),
+]
+
+dependencies = [
+    ('CUDA', '12.1.1', '', SYSTEM),
+]
+cuda_compute_capabilities = ['8.0']
+
+preconfigopts = './autogen.sh && '
+preconfigopts += 'export LDFLAGS="-lm $LDFLAGS" && '
+preconfigopts += 'autoreconf && '
+
+configopts = '--enable-nvidia-gpu '
+configopts += '--with-nvidia-gpu-support-only '
+
+# When building in parallel, the file test_setup_mpi.mod is sometimes
+# used before it is built, leading to an error.  This must be a bug in
+# the makefile affecting parallel builds.
+maxparallel = 1
+
+moduleclass = 'math'
diff --git a/e/ELSI/ELSI-2.11.0-foss-2023a-PEXSI-ELPA-2020.11.001-foss-2023a-CUDA-12.1.1.eb b/e/ELSI/ELSI-2.11.0-foss-2023a-PEXSI-ELPA-2020.11.001-foss-2023a-CUDA-12.1.1.eb
new file mode 100644
index 00000000..8bcf8f6b
--- /dev/null
+++ b/e/ELSI/ELSI-2.11.0-foss-2023a-PEXSI-ELPA-2020.11.001-foss-2023a-CUDA-12.1.1.eb
@@ -0,0 +1,50 @@
+# IT4Innovations
+# PH 2024
+
+name = 'ELSI'
+version = '2.11.0'
+versionsuffix = '-PEXSI-ELPA-2020.11.001-foss-2023a-CUDA-12.1.1'
+
+homepage = 'https://wordpress.elsi-interchange.org/'
+description = """ELSI provides and enhances scalable, open-source software library solutions for
+ electronic structure calculations in  materials science, condensed matter physics, chemistry, and many other fields.
+ ELSI focuses on methods that solve or circumvent eigenvalue problems in electronic structure theory.
+ The ELSI infrastructure should also be useful for other challenging eigenvalue problems.
+"""
+
+toolchain = {'name': 'foss', 'version': '2023a'}
+toolchainopts = {'usempi': True, 'pic': True, 'cstd': 'c++11', 'extra_fflags': '-fallow-argument-mismatch'}
+
+source_urls = ['https://gitlab.com/elsi_project/elsi_interface/-/archive/v2.11.0/']
+sources = ['elsi_interface-v%(version)s.tar.gz']
+patches = [
+    'ELSI-2.11.0_bison_3.8_compat.patch',
+]
+checksums = [
+    {'elsi_interface-v2.11.0.tar.gz': '2e6929827ed9c99a32381ed9da40482e862c28608d59d4f27db7dcbcaed1520d'},
+    {'ELSI-2.11.0_bison_3.8_compat.patch': 'a1284f5c0f442129610aa0fb463cc2b54450e3511a2fd6c871fadc21a16e9504'},
+]
+
+builddependencies = [
+    ('flex', '2.6.4'),
+    ('Bison', '3.8.2'),
+    ('CMake', '3.26.3'),
+]
+
+dependencies = [
+    ('ELPA', '2020.11.001','-CUDA-12.1.1'),
+    ('NTPoly', '3.1.0'),
+]
+
+abs_path_compilers = True
+build_internal_pexsi = True
+
+configopts = '-DENABLE_BSEPACK=ON '
+
+# Tests use 4 MPI ranks, they require a minimum of 4 cores 
+# Map each MPI process to a single CPU core to avoid tests fails
+pretestopts = "export OMPI_MCA_rmaps_base_mapping_policy=slot:PE=1 && "
+
+runtest = True
+
+moduleclass = 'math'
diff --git a/e/ELSI/ELSI-2.11.0-foss-2023a-PEXSI-ELPA-2022.05.001-foss-2023a-CUDA-12.1.1.eb b/e/ELSI/ELSI-2.11.0-foss-2023a-PEXSI-ELPA-2022.05.001-foss-2023a-CUDA-12.1.1.eb
new file mode 100644
index 00000000..6ccbdf9f
--- /dev/null
+++ b/e/ELSI/ELSI-2.11.0-foss-2023a-PEXSI-ELPA-2022.05.001-foss-2023a-CUDA-12.1.1.eb
@@ -0,0 +1,50 @@
+# IT4Innovations
+# PH 2024
+
+name = 'ELSI'
+version = '2.11.0'
+versionsuffix = '-PEXSI-ELPA-2022.05.001-foss-2023a-CUDA-12.1.1'
+
+homepage = 'https://wordpress.elsi-interchange.org/'
+description = """ELSI provides and enhances scalable, open-source software library solutions for
+ electronic structure calculations in  materials science, condensed matter physics, chemistry, and many other fields.
+ ELSI focuses on methods that solve or circumvent eigenvalue problems in electronic structure theory.
+ The ELSI infrastructure should also be useful for other challenging eigenvalue problems.
+"""
+
+toolchain = {'name': 'foss', 'version': '2023a'}
+toolchainopts = {'usempi': True, 'pic': True, 'cstd': 'c++11', 'extra_fflags': '-fallow-argument-mismatch'}
+
+source_urls = ['https://gitlab.com/elsi_project/elsi_interface/-/archive/v2.11.0/']
+sources = ['elsi_interface-v%(version)s.tar.gz']
+patches = [
+    'ELSI-2.11.0_bison_3.8_compat.patch',
+]
+checksums = [
+    {'elsi_interface-v2.11.0.tar.gz': '2e6929827ed9c99a32381ed9da40482e862c28608d59d4f27db7dcbcaed1520d'},
+    {'ELSI-2.11.0_bison_3.8_compat.patch': 'a1284f5c0f442129610aa0fb463cc2b54450e3511a2fd6c871fadc21a16e9504'},
+]
+
+builddependencies = [
+    ('flex', '2.6.4'),
+    ('Bison', '3.8.2'),
+    ('CMake', '3.26.3'),
+]
+
+dependencies = [
+    ('ELPA', '2022.05.001','-CUDA-12.1.1'),
+    ('NTPoly', '3.1.0'),
+]
+
+abs_path_compilers = True
+build_internal_pexsi = True
+
+configopts = '-DENABLE_BSEPACK=ON '
+
+# Tests use 4 MPI ranks, they require a minimum of 4 cores 
+# Map each MPI process to a single CPU core to avoid tests fails
+pretestopts = "export OMPI_MCA_rmaps_base_mapping_policy=slot:PE=1 && "
+
+runtest = True
+
+moduleclass = 'math'
diff --git a/e/ELSI/ELSI-2.11.0-foss-2023a-PEXSI-ELPA-2023.05.001-foss-2023a-CUDA-12.1.1.eb b/e/ELSI/ELSI-2.11.0-foss-2023a-PEXSI-ELPA-2023.05.001-foss-2023a-CUDA-12.1.1.eb
new file mode 100644
index 00000000..c42bf0ec
--- /dev/null
+++ b/e/ELSI/ELSI-2.11.0-foss-2023a-PEXSI-ELPA-2023.05.001-foss-2023a-CUDA-12.1.1.eb
@@ -0,0 +1,52 @@
+# IT4Innovations
+# PH 2024
+
+name = 'ELSI'
+version = '2.11.0'
+versionsuffix = '-PEXSI-ELPA-2023.05.001-foss-2023a-CUDA-12.1.1'
+
+homepage = 'https://wordpress.elsi-interchange.org/'
+description = """ELSI provides and enhances scalable, open-source software library solutions for
+ electronic structure calculations in  materials science, condensed matter physics, chemistry, and many other fields.
+ ELSI focuses on methods that solve or circumvent eigenvalue problems in electronic structure theory.
+ The ELSI infrastructure should also be useful for other challenging eigenvalue problems.
+"""
+
+toolchain = {'name': 'foss', 'version': '2023a'}
+toolchainopts = {'usempi': True, 'pic': True, 'cstd': 'c++11', 'extra_fflags': '-fallow-argument-mismatch'}
+
+source_urls = ['https://gitlab.com/elsi_project/elsi_interface/-/archive/v2.11.0/']
+sources = ['elsi_interface-v%(version)s.tar.gz']
+patches = [
+    'ELSI-2.11.0_bison_3.8_compat.patch',
+]
+checksums = [
+    {'elsi_interface-v2.11.0.tar.gz': '2e6929827ed9c99a32381ed9da40482e862c28608d59d4f27db7dcbcaed1520d'},
+    {'ELSI-2.11.0_bison_3.8_compat.patch': 'a1284f5c0f442129610aa0fb463cc2b54450e3511a2fd6c871fadc21a16e9504'},
+]
+
+builddependencies = [
+    ('flex', '2.6.4'),
+    ('Bison', '3.8.2'),
+    ('CMake', '3.26.3'),
+]
+
+dependencies = [
+    ('ELPA', '2023.05.001','-CUDA-12.1.1'),
+    ('NTPoly', '3.1.0'),
+]
+
+abs_path_compilers = True
+build_internal_pexsi = True
+
+configopts = '-DENABLE_BSEPACK=ON '
+configopts += '-DUSE_GPU_CUDA=ON '
+configopts += '-DCMAKE_CUDA_COMPILER=nvcc -DCMAKE_CUDA_FLAGS="-arch=sm_80"'
+
+# Tests use 4 MPI ranks, they require a minimum of 4 cores 
+# Map each MPI process to a single CPU core to avoid tests fails
+pretestopts = "export OMPI_MCA_rmaps_base_mapping_policy=slot:PE=1 && "
+
+runtest = True
+
+moduleclass = 'math'
diff --git a/s/ScalapackFx/ScalapackFx-1.2-foss-2023a.eb b/s/ScalapackFx/ScalapackFx-1.2-foss-2023a.eb
new file mode 100644
index 00000000..c6019872
--- /dev/null
+++ b/s/ScalapackFx/ScalapackFx-1.2-foss-2023a.eb
@@ -0,0 +1,64 @@
+# IT4Innovations
+# PH 2024
+
+easyblock = 'CMakeMake'
+
+name = 'ScalapackFx'
+version = '1.2'
+
+homepage = 'https://github.com/dftbplus/ScalapackFx'
+description = "Modern Fortran Interface for ScaLAPACK, providing convenient wrappers for diagonalization-related routines."
+
+toolchain = {'name': 'foss', 'version': '2023a'}
+
+# https://github.com/dftbplus/scalapackfx/archive/refs/tags/1.2.tar.gz
+source_urls = ['https://github.com/dftbplus/scalapackfx/archive/refs/tags/']
+sources = [f'{version}.tar.gz']
+
+checksums = ['277fd170cfe6b6c67242a2c179494ec48d0daae94eac26f8361ca30aafe71b98']
+
+builddependencies = [
+    ('CMake', '3.26.3'),
+    ('fypp', '3.2')       
+]
+
+dependencies = [
+    ('ScaLAPACK', '2.2.0', '-fb'),
+    ('FlexiBLAS', '3.3.1'),
+]
+
+configopts = '-DSCALAPACK_LIBRARY="-L$EBROOTSCALAPACK/lib -lscalapack" '
+configopts += '-DLAPACK_LIBRARY="-L$EBROOTFLEXIBLAS/lib -lflexiblas" '
+
+
+sanity_check_paths = {
+    'files': [
+        'lib/libscalapackfx.a',
+        '%(builddir)s/easybuild_obj/test/test_cpg2l',
+        '%(builddir)s/easybuild_obj/test/test_desc',
+        '%(builddir)s/easybuild_obj/test/test_det',
+        '%(builddir)s/easybuild_obj/test/test_diag',
+        '%(builddir)s/easybuild_obj/test/test_gemr2d',
+        '%(builddir)s/easybuild_obj/test/test_linecomm',
+        '%(builddir)s/easybuild_obj/test/test_psyr_pher',
+        '%(builddir)s/easybuild_obj/test/test_subgrids',
+        '%(builddir)s/easybuild_obj/test/test_svd',
+        '%(builddir)s/easybuild_obj/test/test_tran',
+    ],
+    'dirs': ['include', 'lib']
+}
+
+sanity_check_commands = [
+    'cd %(builddir)s/scalapackfx-1.2/test && mpirun -n 2 ../../easybuild_obj/test/test_cpg2l',
+    'cd %(builddir)s/scalapackfx-1.2/test && mpirun -n 2 ../../easybuild_obj/test/test_desc',
+    'cd %(builddir)s/scalapackfx-1.2/test && mpirun -n 2 ../../easybuild_obj/test/test_det',
+    'cd %(builddir)s/scalapackfx-1.2/test && mpirun -n 2 ../../easybuild_obj/test/test_diag',
+    #'cd %(builddir)s/scalapackfx-1.2/test && mpirun -n 2 ../../easybuild_obj/test/test_gemr2d',
+    'cd %(builddir)s/scalapackfx-1.2/test && mpirun -n 2 ../../easybuild_obj/test/test_linecomm',
+    'cd %(builddir)s/scalapackfx-1.2/test && mpirun -n 2 ../../easybuild_obj/test/test_psyr_pher',
+    'cd %(builddir)s/scalapackfx-1.2/test && mpirun -n 2 ../../easybuild_obj/test/test_subgrids',
+    'cd %(builddir)s/scalapackfx-1.2/test && mpirun -n 2 ../../easybuild_obj/test/test_svd',
+    'cd %(builddir)s/scalapackfx-1.2/test && mpirun -n 2 ../../easybuild_obj/test/test_tran',
+]
+
+moduleclass = 'math'
\ No newline at end of file