Skip to content

Commit

Permalink
adding easyconfigs: whisper-ctranslate2-0.5.2-foss-2023a-CUDA-12.6.0.…
Browse files Browse the repository at this point in the history
…eb, ONNX-Runtime-1.19.2-foss-2023a-CUDA-12.6.0.eb, PortAudio-19.7.0-foss-2023a.eb, PyAV-11.0.0-GCCcore-12.3.0.eb
  • Loading branch information
pavelToman committed Jan 8, 2025
1 parent 37169fb commit 90b7f98
Show file tree
Hide file tree
Showing 4 changed files with 201 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
easyblock = 'PythonBundle'

name = 'ONNX-Runtime'
version = '1.19.2'
versionsuffix = '-CUDA-%(cudaver)s'

homepage = 'https://onnxruntime.ai'
description = """ONNX Runtime inference can enable faster customer experiences and lower costs,
supporting models from deep learning frameworks such as PyTorch and
TensorFlow/Keras as well as classical machine learning libraries such as
scikit-learn, LightGBM, XGBoost, etc. ONNX Runtime is compatible with different
hardware, drivers, and operating systems, and provides optimal performance by
leveraging hardware accelerators where applicable alongside graph optimizations
and transforms."""

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

dependencies = [
('CUDA', '12.6.0', '', SYSTEM),
('Python', '3.11.3'),
('ONNX', '1.15.0'),
('flatbuffers-python', '23.5.26'),
('sympy', '1.12'),
]

use_pip = True

local_whl_tmpl = 'onnxruntime_gpu-%%(version)s-cp311-cp311-manylinux_2_27_%s.manylinux_2_28_%s.whl'

exts_list = [
('humanfriendly', '10.0', {
'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'],
}),
('coloredlogs', '15.0.1', {
'checksums': ['7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0'],
}),
(name, version, {
'modulename': 'onnxruntime',
'source_urls': ['http://pypi.python.org/packages/source/o/onnxruntime-gpu'],
'sources': ['onnxruntime_gpu-%(version)s-cp311-cp311-manylinux_2_27_%(arch)s.manylinux_2_28_%(arch)s.whl'],
'checksums': ['562fc7c755393eaad9751e56149339dd201ffbfdb3ef5f43ff21d0619ba9045f'],
}),
]

# Due to its name 'onnxruntime-gpu', this package does not fullfil requirements on 'onnxruntime' although it provides
# the 'onnxruntime' python module. Fix this dependency issue in pip by creating a stub 'onnxruntime' dist-info folder
_py_sitepkgs = '%(installdir)s/lib/python%(pyshortver)s/site-packages'
postinstallcmds = [
"cp -r %s/onnxruntime{_gpu,}-%%(version)s.dist-info" % _py_sitepkgs,
"sed -i 's/onnxruntime.gpu/onnxruntime/g' %s/onnxruntime-%%(version)s.dist-info/{METADATA,RECORD}" % _py_sitepkgs,
]

sanity_pip_check = True

_py_sitepkgs_dirs = ['onnxruntime', 'onnxruntime-%(version)s.dist-info', 'onnxruntime_gpu-%(version)s.dist-info']

sanity_check_paths = {
'files': [],
'dirs': ['lib/python%%(pyshortver)s/site-packages/%s' % x for x in _py_sitepkgs_dirs],
}

options = {'modulename': 'onnxruntime'}

moduleclass = 'devel'
51 changes: 51 additions & 0 deletions easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2023a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
easyblock = 'ConfigureMake'

name = 'PortAudio'
version = '19.7.0'

homepage = 'https://www.portaudio.com/'
description = """PortAudio is a free, cross-platform, open-source, audio I/O library.
It lets you write simple audio programs in 'C' or C++ that will compile and run on many platforms including Windows,
Macintosh OS X, and Unix (OSS/ALSA). It is intended to promote the exchange of audio software between
developers on different platforms. Many applications use PortAudio for Audio I/O."""

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

source_urls = ["https://github.com/PortAudio/portaudio/archive"]
sources = ["v%(version)s.tar.gz"]
checksums = ['5af29ba58bbdbb7bbcefaaecc77ec8fc413f0db6f4c4e286c40c3e1b83174fa0']

dependencies = [
('Python', '3.11.3'),
('alsa-lib', '1.2.9'),
]

exts_defaultclass = 'PythonPackage'
exts_default_options = {
'source_urls': [PYPI_SOURCE],
'download_dep_fail': True,
'use_pip': True,
'sanity_pip_check': True,
'installopts': '',
}

exts_list = [
('PyAudio', '0.2.14', {
'checksums': ['78dfff3879b4994d1f4fc6485646a57755c6ee3c19647a491f790a0895bd2f87'],
}),
]

parallel = 1

sanity_check_paths = {
'files': ["include/portaudio.h", "lib/libportaudio.a", "lib/libportaudio.so"],
'dirs': ['include', 'lib', 'lib/python%(pyshortver)s/site-packages'],
}

sanity_check_commands = [
'python -c "import pyaudio; pyaudio.get_portaudio_version_text()"'
]

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

moduleclass = 'math'
32 changes: 32 additions & 0 deletions easybuild/easyconfigs/p/PyAV/PyAV-11.0.0-GCCcore-12.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
easyblock = 'PythonBundle'

name = 'PyAV'
version = '11.0.0'

homepage = 'https://pyav.org'
description = """PyAV is a Pythonic binding for FFmpeg. We aim to provide all of the power and
control of the underlying library, but manage the gritty details as much as possible."""

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

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

dependencies = [
('Python', '3.11.3'),
('Cython', '3.0.7'),
('FFmpeg', '6.0'),
]

use_pip = True
sanity_pip_check = True

exts_list = [
('av', version, {
'installopts': '--no-binary av',
'checksums': ['48223f000a252070f8e700ff634bb7fb3aa1b7bc7e450373029fbdd6f369ac31'],
}),
]

moduleclass = 'vis'
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
easyblock = 'PythonBundle'

name = 'whisper-ctranslate2'
version = '0.5.2'
versionsuffix = '-CUDA-%(cudaver)s'

homepage = 'https://github.com/Softcatala/whisper-ctranslate2/'
description = "Whisper command line client compatible with original OpenAI client based on CTranslate2."

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

dependencies = [
('CUDA', '12.6.0', '', SYSTEM),
('Python', '3.11.3'),
('SciPy-bundle', '2023.07'),
('tqdm', '4.66.1'),
('tokenizers', '0.15.2'),
('CTranslate2', '4.5.0', versionsuffix),
('PyAV', '11.0.0'),
('ONNX-Runtime', '1.19.2', versionsuffix),
('cffi', '1.15.1'),
('PortAudio', '19.7.0'),
]

use_pip = True
sanity_pip_check = True

exts_list = [
('huggingface-hub', '0.26.5', {
'sources': ['huggingface_hub-%(version)s.tar.gz'],
'checksums': ['1008bd18f60bfb65e8dbc0a97249beeeaa8c99d3c2fa649354df9fa5a13ed83b'],
}),
('sounddevice', '0.5.1', {
'checksums': ['09ca991daeda8ce4be9ac91e15a9a81c8f81efa6b695a348c9171ea0c16cb041'],
}),
('faster-whisper', '1.1.1', {
'checksums': ['50d27571970c1be0c2b2680a2593d5d12f9f5d2f10484f242a1afbe7cb946604'],
}),
(name, version, {
'modulename': False,
'source_urls': ['https://github.com/Softcatala/whisper-ctranslate2/archive/'],
'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}],
'checksums': ['8a7c7b232086b8bfa7022f3a3b3f95c8c5175c33663cf8d3fd840539f2be9a49'],
}),
]

sanity_check_paths = {
'files': ['bin/%(name)s'],
'dirs': ['lib/python%(pyshortver)s/site-packages'],
}

sanity_check_commands = ['%(name)s --help']

moduleclass = 'ai'

0 comments on commit 90b7f98

Please sign in to comment.