Skip to content

Commit

Permalink
adding easyconfigs: Pillow-SIMD-10.4.0-GCCcore-13.2.0.eb, tensorboard…
Browse files Browse the repository at this point in the history
…-2.18.0-gfbf-2023b.eb, torchvision-0.17.0-foss-2023b.eb and patches: torchvision-0.17.0_fix-build-with-FFmpeg6.patch, torchvision-0.17.0_quantized_tol.patch
  • Loading branch information
pavelToman committed Jan 15, 2025
1 parent 08bbca2 commit e423444
Show file tree
Hide file tree
Showing 5 changed files with 194 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
easyblock = 'PythonPackage'

name = 'Pillow-SIMD'
version = '10.4.0'

homepage = 'https://github.com/uploadcare/pillow-simd'
description = """Pillow is the 'friendly PIL fork' by Alex Clark and Contributors.
PIL is the Python Imaging Library by Fredrik Lundh and Contributors."""

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

source_urls = ['https://github.com/uploadcare/pillow-simd/archive/']
sources = ['%(version)s.tar.gz']
checksums = ['8c7c3c0fc2952ff11b9a8c60365e098ee5334427dd5688c3584e77c25a7e1b3f']

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

dependencies = [
('Python', '3.11.5'),
('libjpeg-turbo', '3.0.1'),
('libpng', '1.6.40'),
('zlib', '1.2.13'),
('LibTIFF', '4.6.0'),
('freetype', '2.13.2'),
('libwebp', '1.3.2'),
('OpenJPEG', '2.5.0'),
('LittleCMS', '2.15'),
]

use_pip = True
download_dep_fail = True

# patch setup.py to prefix hardcoded /usr/* and /lib paths with value of %(sysroot) template
# (which will be empty if EasyBuild is not configured to use an alternate sysroot);
# see also https://gitlab.com/eessi/support/-/issues/9
preinstallopts = """sed -i 's@"/usr/@"%(sysroot)s/usr/@g' setup.py && """
preinstallopts += """sed -i 's@"/lib@"%(sysroot)s/lib@g' setup.py && """

options = {'modulename': 'PIL'}

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

sanity_pip_check = True

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

name = 'tensorboard'
version = '2.18.0'

homepage = 'https://github.com/tensorflow/tensorboard'
description = """TensorBoard is a suite of web applications for inspecting and
understanding your TensorFlow runs and graphs."""

toolchain = {'name': 'gfbf', 'version': '2023b'}

builddependencies = [
('poetry', '1.6.1'),
]

dependencies = [
('Python', '3.11.5'),
('SciPy-bundle', '2023.11'),
('protobuf-python', '4.25.3'),
('grpcio', '1.67.1'),
('Markdown', '3.6'),
]

use_pip = True
sanity_pip_check = True

exts_list = [
('absl-py', '2.1.0', {
'modulename': 'absl',
'checksums': ['7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff'],
}),
('cachetools', '5.5.0', {
'checksums': ['2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a'],
}),
('pyasn1_modules', '0.4.1', {
'checksums': ['c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c'],
}),
('rsa', '4.9', {
'checksums': ['e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21'],
}),
('google_auth', '2.35.0', {
'modulename': 'google.auth',
'checksums': ['f4c64ed4e01e8e8b646ef34c018f8bf3338df0c8e37d8b3bba40e7f574a3278a'],
}),
('tensorboard_data_server', '0.7.2', {
'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl',
'checksums': ['7e0610d205889588983836ec05dc098e80f97b7e7bbff7e994ebb78f578d0ddb'],
}),
('Werkzeug', '3.1.0', {
'source_tmpl': '%(namelower)s-%(version)s.tar.gz',
'checksums': ['6f2a0d38f25ba5a75c36c45b4ae350c7a23b57e3b974e9eb2d6851f2c648c00d'],
}),
(name, version, {
'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl',
'checksums': ['107ca4821745f73e2aefa02c50ff70a9b694f39f790b11e6f682f7d326745eab'],
}),
]

moduleclass = 'lib'
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name = 'torchvision'
version = '0.17.0'

homepage = 'https://github.com/pytorch/vision'
description = " Datasets, Transforms and Models specific to Computer Vision"

toolchain = {'name': 'foss', 'version': '2023b'}
toolchainopts = {'cstd': 'c++17'}

source_urls = ['https://github.com/pytorch/vision/archive']
sources = ['v%(version)s.tar.gz']
patches = [
'%(name)s-%(version)s_fix-build-with-FFmpeg6.patch',
'%(name)s-%(version)s_quantized_tol.patch'
]
checksums = [
{'v0.17.0.tar.gz': '55e395d5c7d9bf7658c82ac633cac2224aa168e1bfe8bb5b2b2a296c792a3500'},
{'torchvision-0.17.0_fix-build-with-FFmpeg6.patch':
'64404865a489c0348f79684419831ebd71ece7c7326a80184785578a368047b5'},
{'torchvision-0.17.0_quantized_tol.patch': '991b959f7d5e0fd418a163fa3ad828a2b60a64d0ce894cf579847138b13b62af'},
]

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

dependencies = [
('Python', '3.11.5'),
('Python-bundle-PyPI', '2023.10'),
('SciPy-bundle', '2023.11'),
('FFmpeg', '6.0'),
('Pillow-SIMD', '10.4.0'),
('PyTorch', '2.1.2'),
]

moduleclass = 'vis'
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
From 86620bd84b872b76db0acafec167949dca03a29e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?=
<zboszor@gmail.com>
Date: Tue, 7 Nov 2023 10:43:11 +0100
Subject: [PATCH] Fix build with ffmpeg 6.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
torchvision/csrc/io/decoder/stream.cpp | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/torchvision/csrc/io/decoder/stream.cpp b/torchvision/csrc/io/decoder/stream.cpp
index 0d625ef211c..8c914050587 100644
--- a/torchvision/csrc/io/decoder/stream.cpp
+++ b/torchvision/csrc/io/decoder/stream.cpp
@@ -63,15 +63,8 @@ int Stream::openCodec(std::vector<DecoderMetadata>* metadata, int num_threads) {
codecCtx_->thread_count = num_threads;
} else {
// otherwise set sensible defaults
- // with the special case for the different MPEG4 codecs
- // that don't have threading context functions
- if (codecCtx_->codec->capabilities & AV_CODEC_CAP_INTRA_ONLY) {
- codecCtx_->thread_type = FF_THREAD_FRAME;
- codecCtx_->thread_count = 2;
- } else {
- codecCtx_->thread_count = 8;
- codecCtx_->thread_type = FF_THREAD_SLICE;
- }
+ codecCtx_->thread_count = 8;
+ codecCtx_->thread_type = FF_THREAD_SLICE;
}

int ret;
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Increase the toleances for quantized model that failed tests
The absolute error just barely exceed the default 0.02, but given the small numbers
the relative tolerance is high, thus the relative high tolerance of 0.5
author: micketeer@gmail.com
--- test/test_models.py.orig 2024-03-21 10:54:03.467723691 +0000
+++ test/test_models.py 2024-03-21 10:53:49.857749169 +0000
@@ -987,7 +987,7 @@
out = model(x)

if model_name not in quantized_flaky_models:
- _assert_expected(out.cpu(), model_name + "_quantized", prec=2e-2)
+ _assert_expected(out.cpu(), model_name + "_quantized", prec=5e-1)
assert out.shape[-1] == 5
_check_jit_scriptable(model, (x,), unwrapper=script_model_unwrapper.get(model_name, None), eager_out=out)
_check_fx_compatible(model, x, eager_out=out)

0 comments on commit e423444

Please sign in to comment.