diff --git a/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.19.2-foss-2023a-CUDA-12.6.0.eb b/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.19.2-foss-2023a-CUDA-12.6.0.eb new file mode 100644 index 00000000000..68436eedc6c --- /dev/null +++ b/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.19.2-foss-2023a-CUDA-12.6.0.eb @@ -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' diff --git a/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2023a.eb b/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2023a.eb new file mode 100644 index 00000000000..001f977a015 --- /dev/null +++ b/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2023a.eb @@ -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' diff --git a/easybuild/easyconfigs/p/PyAV/PyAV-11.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PyAV/PyAV-11.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..05acd2727d2 --- /dev/null +++ b/easybuild/easyconfigs/p/PyAV/PyAV-11.0.0-GCCcore-12.3.0.eb @@ -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' diff --git a/easybuild/easyconfigs/w/whisper-ctranslate2/whisper-ctranslate2-0.5.2-foss-2023a-CUDA-12.6.0.eb b/easybuild/easyconfigs/w/whisper-ctranslate2/whisper-ctranslate2-0.5.2-foss-2023a-CUDA-12.6.0.eb new file mode 100644 index 00000000000..4a697095abc --- /dev/null +++ b/easybuild/easyconfigs/w/whisper-ctranslate2/whisper-ctranslate2-0.5.2-foss-2023a-CUDA-12.6.0.eb @@ -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'