Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
easyblock = 'ConfigureMake'

name = 'gperftools'
version = '2.15'

homepage = 'https://github.com/gperftools/gperftools'
description = """
gperftools is a collection of a high-performance multi-threaded malloc()
implementation, plus some pretty nifty performance analysis tools.
Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler.
"""

toolchain = {'name': 'GCCcore', 'version': '12.3.0'}

github_account = 'gperftools'
source_urls = [GITHUB_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['3918ff2e21bb3dbb5a801e1daf55fb20421906f7c42fbb482bede7bdc15dfd2e']

builddependencies = [
('Autotools', '20220317'),
('binutils', '2.40'),
]

dependencies = [
('libunwind', '1.6.2'),
]

preconfigopts = "autoreconf -f -i && "
configopts = '--enable-libunwind'

sanity_check_paths = {
'files': ['bin/pprof', 'lib/libprofiler.a', 'lib/libprofiler.%s' % SHLIB_EXT,
'lib/libtcmalloc.a', 'lib/libtcmalloc.%s' % SHLIB_EXT],
'dirs': ['include'],
}

moduleclass = 'tools'
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
easyblock = 'PythonPackage'

name = 'HyperPyYAML'
version = '1.2.2'

homepage = 'https://github.com/speechbrain/HyperPyYAML'
description = """A crucial element of systems for data-analysis is laying out all the
hyperparameters of that system so they can be easily examined and modified. We add a
few useful extensions to a popular human-readable data-serialization language known as
YAML (YAML Ain't Markup Language). This provides support for a rather expansive idea
of what constitutes a hyperparameter, and cleans up python files for data analysis to
just the bare algorithm."""

toolchain = {'name': 'foss', 'version': '2023a'}

sources = [name + '-%(version)s.tar.gz']
checksums = ['bdb734210d18770a262f500fe5755c7a44a5d3b91521b06e24f7a00a36ee0f87']

dependencies = [
('Python', '3.11.3'),
('PyYAML', '6.0'),
('ruamel.yaml', '0.17.32'),
]


download_dep_fail = True
use_pip = True
sanity_pip_check = True

moduleclass = 'tools'
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
easyblock = 'PythonPackage'

name = 'huggingface-hub'
version = '0.20.3'

homepage = 'https://github.com/huggingface/datasets'
description = """The largest hub of ready-to-use datasets for ML models with
fast, easy-to-use and efficient data manipulation tools"""

toolchain = {'name': 'foss', 'version': '2023a'}

sources = ['huggingface_hub-%(version)s.tar.gz']
checksums = ['94e7f8e074475fbc67d6a71957b678e1b4a74ff1b64a644fd6cbb83da962d05d']

dependencies = [
('Python', '3.11.3'),
('Python-bundle-PyPI', '2023.06'),
('tqdm', '4.66.1'),
('PyYAML', '6.0'),
('typing-extensions', '4.9.0'),
]

download_dep_fail = True
use_pip = True
sanity_pip_check = True

moduleclass = 'lib'
27 changes: 27 additions & 0 deletions easybuild/easyconfigs/l/libmad/libmad-0.15.1b-GCCcore-12.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
easyblock = 'ConfigureMake'

name = 'libmad'
version = '0.15.1b'

homepage = 'https://www.underbit.com/products/mad/'
description = """MAD is a high-quality MPEG audio decoder."""

toolchain = {'name': 'GCCcore', 'version': '12.3.0'}

source_urls = ['https://sourceforge.net/projects/mad/files/%(name)s/%(version)s/']
sources = [SOURCELOWER_TAR_GZ]
patches = ['libmad-0.15.1b-remove-depreciated-gcc-option.patch']
checksums = [
'bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690', # libmad-0.15.1b.tar.gz
# libmad-0.15.1b-remove-depreciated-gcc-option.patch
'8f96a23a22ba66e62f32e20064d01f4c7f6a18ba0aab85d3be9ce63794b2c678',
]

builddependencies = [('binutils', '2.40')]

sanity_check_paths = {
'files': ['include/mad.h', 'lib/libmad.a', 'lib/libmad.la', 'lib/libmad.%s' % SHLIB_EXT],
'dirs': ['include', 'lib', 'lib64']
}

moduleclass = 'lib'
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
easyblock = 'PythonPackage'

name = 'python-soundfile'
version = '0.12.1'

homepage = 'https://github.com/bastibe/python-soundfile'
description = """ The soundfile module can read and write sound files based on
libsndfile, CFFI, and NumPy """

toolchain = {'name': 'foss', 'version': '2023a'}

sources = ['soundfile-%(version)s.tar.gz']
checksums = ['e8e1017b2cf1dda767aef19d2fd9ee5ebe07e050d430f77a0a7c66ba08b8cdae']

dependencies = [
('Python', '3.11.3'),
('SciPy-bundle', '2023.07'),
('libsndfile', '1.2.2'),
]

download_dep_fail = True
use_pip = True
sanity_pip_check = True

options = {'modulename': 'soundfile'}

moduleclass = 'lib'
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
easyblock = 'Bundle'

name = 'SentencePiece'
version = '0.2.0'

homepage = 'https://github.com/google/sentencepiece'
description = "Unsupervised text tokenizer for Neural Network-based text generation."
github_account = 'google'

toolchain = {'name': 'GCC', 'version': '12.3.0'}

builddependencies = [
('CMake', '3.26.3'),
]

dependencies = [
('Python', '3.11.3'),
('gperftools', '2.15'),
('protobuf', '24.0'),
]

default_component_specs = {
'source_urls': [GITHUB_LOWER_SOURCE],
'sources': ['v%(version)s.tar.gz'],
'checksums': ['9970f0a0afee1648890293321665e5b2efa04eaec9f1671fcf8048f456f5bb86'],
}

components = [
(name, version, {
'easyblock': 'CMakeMake',
'separate_build_dir': True,
'start_dir': '%(namelower)s-%(version)s',
}),
('sentencepiece', version, {
'easyblock': 'PythonPackage',
'start_dir': '%(namelower)s-%(version)s/python',
'prebuildopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ',
'preinstallopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ',
'use_pip': True,
'download_dep_fail': True,
'sanity_pip_check': True,
}),
]

postinstallcmds = ['cp -a %(builddir)s/%(namelower)s-%(version)s/{data,doc} %(installdir)s/']

sanity_check_paths = {
'files': ['bin/spm_%s' % x for x in ['decode', 'encode', 'export_vocab', 'normalize', 'train']] +
['lib/libsentencepiece.%s' % SHLIB_EXT, 'lib/libsentencepiece_train.%s' % SHLIB_EXT] +
['include/sentencepiece_processor.h', 'include/sentencepiece_trainer.h'],
'dirs': ['lib/python%(pyshortver)s/site-packages', 'data', 'doc'],
}

sanity_check_commands = [
'spm_train --help',
"python -c 'import sentencepiece'",
]

modextrapaths = {
'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']
}

moduleclass = 'lib'
34 changes: 34 additions & 0 deletions easybuild/easyconfigs/s/SoX/SoX-14.4.2-GCCcore-12.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
easyblock = 'ConfigureMake'

name = 'SoX'
version = '14.4.2'

homepage = 'http://sox.sourceforge.net/'
docurls = 'http://sox.sourceforge.net/Docs/Documentation'
description = """Sound eXchange, the Swiss Army knife of audio manipulation"""

toolchain = {'name': 'GCCcore', 'version': '12.3.0'}

source_urls = [SOURCEFORGE_SOURCE]
sources = [SOURCELOWER_TAR_GZ]
checksums = ['b45f598643ffbd8e363ff24d61166ccec4836fea6d3888881b8df53e3bb55f6c']

builddependencies = [('binutils', '2.40')]

dependencies = [
('FLAC', '1.4.2'),
('LAME', '3.100'),
('libmad', '0.15.1b'),
('libvorbis', '1.3.7'),
('FFmpeg', '6.0'),
]

sanity_check_paths = {
'files': ['bin/play', 'bin/rec', 'bin/sox', 'bin/soxi', 'include/sox.h',
'lib/libsox.la', 'lib/libsox.a', 'lib/pkgconfig/sox.pc', 'lib/libsox.%s' % SHLIB_EXT],
'dirs': ['bin', 'include', 'lib', 'lib/pkgconfig', 'share/man'],
}

sanity_check_commands = ['sox --help']

moduleclass = 'data'
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
easyblock = 'PythonPackage'

name = 'speechbrain'
version = '0.5.16'
local_pytorch_version = '2.1.2'
versionsuffix = '-PyTorch-' + local_pytorch_version + '-CUDA-%(cudaver)s'

homepage = 'https://speechbrain.github.io/'
description = "An Open-Source Conversational AI Toolkit"

toolchain = {'name': 'foss', 'version': '2023a'}

sources = [SOURCELOWER_TAR_GZ]
checksums = ['cfbf6176da8879b541e1a2d1342d43806e82d0ef55604c2f38e21a5027a2eecb']

dependencies = [
('CUDA', '12.1.1', '', SYSTEM),
('Python', '3.11.3'),
('SciPy-bundle', '2023.07'),
('PyTorch', local_pytorch_version, '-CUDA-%(cudaver)s'),
('python-soundfile', '0.12.1'),
('torchaudio', '2.2.0', versionsuffix),
('huggingface-hub', '0.20.3'),
('SentencePiece', '0.2.0'),
('HyperPyYAML', '1.2.2'),
]


download_dep_fail = True
use_pip = True
sanity_pip_check = True

moduleclass = 'tools'
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
easyblock = 'PythonPackage'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rather than the individual torch* packages, i think we want to use a PyTorch-bundle PR.

There were several conflicting PRs open right now with torch related stuff. I tried to unify the approach into this PR (just the PyTorch bundle part)
#19987


name = 'torchaudio'
version = '2.2.0'
local_pytorch_version = '2.1.2'
versionsuffix = '-PyTorch-' + local_pytorch_version + '-CUDA-%(cudaver)s'

homepage = 'https://github.com/pytorch/audio'
description = """ Data manipulation and transformation for audio signal
processing, powered by PyTorch """

toolchain = {'name': 'foss', 'version': '2023a'}

sources = [{
'filename': '%(name)s-%(version)s.tar.gz',
'git_config': {
'url': 'https://github.com/pytorch',
'repo_name': 'audio',
'tag': 'v%(version)s',
'recursive': True,
'keep_git_dir': True,
}
}]

checksums = [None]

builddependencies = [
('binutils', '2.40'),
('CMake', '3.26.3'),
('Ninja', '1.11.1'),
]

dependencies = [
('CUDA', '12.1.1', '', SYSTEM),
('Python', '3.11.3'),
('SciPy-bundle', '2023.07'),
('PyTorch', local_pytorch_version, '-CUDA-%(cudaver)s'),
('SoX', '14.4.2'),
('FFmpeg', '6.0'),
]

preinstallopts = 'USE_FFMPEG=1'
installopts = '--no-use-pep517'

download_dep_fail = True
use_pip = True
sanity_pip_check = True

moduleclass = 'tools'