Commit 8a30d2c3 authored by sage-root's avatar sage-root
Browse files

Merge branch 'master' into sage_tensorflow_build

parents 845fee53 1004dc7f
############################################
# Copyright 2020 Forschungszentrum Juelich #
############################################
"""
EasyBlock for building gem5
@author: Stepan Nassyr (Forschungszentrum Juelich - Juelich Supercomputing Center (JSC))
"""
from easybuild.framework.easyblock import EasyBlock
from easybuild.framework.easyconfig import MANDATORY
from easybuild.tools.run import run_cmd
class gem5(EasyBlock):
@staticmethod
def extra_options():
extra_vars = {
'gem5_isa': ['X86', "Target Instruction Set Architecture (ISA)", MANDATORY],
}
return EasyBlock.extra_options(extra_vars)
def configure_step(self):
pass
def build_step(self, verbose=False):
par = ''
if self.cfg['parallel']:
par = "-j %s" % self.cfg['parallel']
cmd = "%(prebuildopts)s scons build/%(gem5_isa)s/gem5.opt %(par)s %(buildopts)s" % {
'buildopts': self.cfg['buildopts'],
'gem5_isa': self.cfg['gem5_isa'],
'prebuildopts': self.cfg['prebuildopts'],
'par': par,
}
(out, _) = run_cmd(cmd, log_all=True, log_output=verbose)
return out
def test_step(self):
pass
def install_step(self):
cmd = "mkdir -p %(installdir)s/bin; cp build/%(gem5_isa)s/gem5.opt %(installdir)s/bin/" % {
'installdir': self.installdir,
'gem5_isa': self.cfg['gem5_isa'],
}
(out, _) = run_cmd(cmd, log_all=True)
return out
##
# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild
#
# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany
# Authors:: Markus Geimer <m.geimer@fz-juelich.de>
# License:: 3-clause BSD
#
# This work is based on experiences from the UNITE project
# http://apps.fz-juelich.de/unite/
##
easyblock = 'EB_Score_minus_P'
name = 'CubeGUI'
version = '4.4.4'
homepage = 'https://www.scalasca.org/software/cube-4.x/download.html'
description = """
Cube, which is used as performance report explorer for Scalasca and Score-P,
is a generic tool for displaying a multi-dimensional performance space
consisting of the dimensions (i) performance metric, (ii) call path, and
(iii) system resource. Each dimension can be represented as a tree, where
non-leaf nodes of the tree can be collapsed or expanded to achieve the
desired level of granularity.
This module provides the Cube graphical report explorer.
"""
toolchain = {'name': 'armlinux', 'version': '20.0'}
source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version_major_minor)s/dist']
sources = [SOURCELOWER_TAR_GZ]
checksums = [
'9b7b96d5a64b558a9017cc3599bba93a42095534e018e3de9b1f80ab6d04cc34', # cubegui-4.4.4.tar.gz
]
builddependencies = [
# use same binutils version that was used when building GCCcore
('binutils', '2.34'),
('CubeLib', '4.4.4'),
]
dependencies = [
('Qt5', '5.14.2'),
]
sanity_check_paths = {
'files': ['bin/cube', 'bin/cubegui-config',
'lib/libcube4gui.a', 'lib/libcube4gui.%s' % SHLIB_EXT],
'dirs': ['include/cubegui', 'lib/cube-plugins'],
}
moduleclass = 'perf'
# This file is part of JSC's public easybuild repository (https://github.com/easybuilders/jsc)
easyblock = "PythonPackage"
name = 'h5py'
version = '2.10.0'
pysuffix = '-Python-%(pyver)s'
versionsuffix = '-serial%s' % pysuffix
homepage = 'http://www.h5py.org/'
description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library,
version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous
amounts of data.
"""
toolchain = {'name': 'GCC', 'version': '8.4.0'}
source_urls = [PYPI_SOURCE]
sources = [SOURCE_TAR_GZ]
req_py_majver = 3
req_py_minver = 0
builddependencies = [
('pkgconfig', '1.5.1', pysuffix),
('binutils', '2.34'),
]
dependencies = [
('Python', '3.8.2'),
('OpenMPI', '4.0.3', '', ('GCC', '8.4.0')), # No SciPy-Stack without MPI
('SciPy-Stack', '2020a.8', pysuffix, ('goolf', '2020a.8')), # numpy required
('HDF5', '1.12.0', '-serial'),
]
sanity_check_paths = {
'files': [],
'dirs': ['lib/python%(pyshortver)s/site-packages/'],
}
moduleclass = 'data'
......@@ -13,7 +13,7 @@ description = """HDF5 for Python (h5py) is a general-purpose Python interface to
"""
toolchain = {'name': 'GCC', 'version': '9.2.0'}
toolchain = {'name': 'GCC', 'version': '9.3.0'}
source_urls = [PYPI_SOURCE]
sources = [SOURCE_TAR_GZ]
......@@ -28,7 +28,7 @@ builddependencies = [
dependencies = [
('Python', '3.8.2'),
('OpenMPI', '4.0.3', '', ('GCC', '9.2.0')), # No SciPy-Stack without MPI
('OpenMPI', '4.0.3', '', ('GCC', '9.3.0')), # No SciPy-Stack without MPI
('SciPy-Stack', '2020a', pysuffix, ('goolf', '2020a')), # numpy required
('HDF5', '1.12.0', '-serial'),
]
......
......@@ -30,7 +30,7 @@ builddependencies = [
dependencies = [
('Python', '3.8.2'),
('SciPy-Stack', '2020a.7', versionsuffix, ('goolf', '2020a.7')), # numpy required
('SciPy-Stack', '2020a.8', versionsuffix, ('goolf', '2020a.8')), # numpy required
('mpi4py', '3.0.3', versionsuffix), # required for MPI support
('HDF5', '1.12.0'),
]
......
easyblock = 'EB_Qt'
name = 'Qt5'
version = '5.14.1'
version = '5.14.2'
homepage = 'https://qt.io/'
description = "Qt is a comprehensive cross-platform C++ application framework."
......@@ -18,11 +18,13 @@ sources = ['qt-everywhere-src-%(version)s.tar.xz']
patches = [
'Qt5-%(version)s_fix-avx2.patch',
'Qt5-%(version)s_fix-qmake-libdir.patch',
'Qt5-%(version)s-aarch64-user_fpsimd_struct.patch',
'Qt5-%(version)s-armlinux-invalidateBackingStore.patch',
]
checksums = [
'6f17f488f512b39c2feb57d83a5e0a13dcef32999bea2e2a8f832f54a29badb8', # qt-everywhere-src-5.14.1.tar.xz
'6f46005f056bf9e6ff3e5d012a874d18ee03b33e685941f2979c970be91a9dbc', # Qt5-5.14.1_fix-avx2.patch
'511ca9c0599ceb1989f73d8ceea9199c041512d3a26ee8c5fd870ead2c10cb63', # Qt5-5.14.1_fix-qmake-libdir.patch
'c6fcd53c744df89e7d3223c02838a33309bd1c291fcb6f9341505fe99f7f19fa', # qt-everywhere-src-5.14.2.tar.xz
'6f46005f056bf9e6ff3e5d012a874d18ee03b33e685941f2979c970be91a9dbc', # Qt5-5.14.2_fix-avx2.patch
'511ca9c0599ceb1989f73d8ceea9199c041512d3a26ee8c5fd870ead2c10cb63', # Qt5-5.14.2_fix-qmake-libdir.patch
]
osdependencies = [('libevent-devel')]
......@@ -41,12 +43,23 @@ builddependencies = [
dependencies = [
('double-conversion', '3.1.5'),
('freetype', '2.10.1'),
('fontconfig', '2.13.92'),
('GLib', '2.62.0'),
('GTK+', '3.24.14'),
('HarfBuzz', '2.6.4'),
('PCRE2', '10.34'),
('libpng', '1.6.37'),
('SQLite', '3.31.1'),
# deps for QtWebEngine
('X11', '20190717'),
('X11', '20200326'),
('DBus', '1.13.12'),
('ICU', '66.1'),
('libxml2', '2.9.9','-Python-3.8.2'),
('libxslt', '1.1.33'),
('opus', '1.3.1'),
('libwebp', '1.1.0'),
('FFmpeg', '4.2.2'),
('libGLU', '9.0.1'),
('libvpx', '1.8.2'),
('libjpeg-turbo', '2.0.4'),
......@@ -58,7 +71,8 @@ dependencies = [
# qtgamepad needs recent kernel/libevdev (fails on RHEL 6.x)
# configopts = '-skip qtgamepad'
configopts = " -nomake examples -nomake tests"
configopts = " -nomake examples -nomake tests -system-ffmpeg -system-doubleconversion"
platform = "linux-g++"
# make sure QtWebEngine component is being built & installed
check_qtwebengine = True
......
diff -urN qt-everywhere-src-5.14.2-unpatched/qtbase/src/widgets/kernel/qwidgetrepaintmanager.cpp qt-everywhere-src-5.14.2/qtbase/src/widgets/kernel/qwidgetrepaintmanager.cpp
--- qt-everywhere-src-5.14.2-unpatched/qtbase/src/widgets/kernel/qwidgetrepaintmanager.cpp 2020-04-20 21:45:16.920719171 +0200
+++ qt-everywhere-src-5.14.2/qtbase/src/widgets/kernel/qwidgetrepaintmanager.cpp 2020-04-20 21:46:45.371155494 +0200
@@ -187,6 +187,7 @@
QWidgetRepaintManager::UpdateLater, QWidgetRepaintManager::BufferInvalid);
}
}
+template Q_AUTOTEST_EXPORT void QWidgetPrivate::invalidateBackingStore<QRegion>(const QRegion &r);
// Needed by tst_QWidget
template Q_AUTOTEST_EXPORT void QWidgetPrivate::invalidateBackingStore<QRect>(const QRect &r);
# This file is part of JSC's public easybuild repository (https://github.com/easybuilders/jsc)
##
# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild
# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany
# Authors:: Bernd Mohr <b.mohr@fz-juelich.de>
# Markus Geimer <m.geimer@fz-juelich.de>
# License:: 3-clause BSD
#
# This work is based on experiences from the UNITE project
# http://apps.fz-juelich.de/unite/
##
easyblock = 'EB_Score_minus_P'
name = 'Scalasca'
version = '2.5'
homepage = 'http://www.scalasca.org/'
description = """
Scalasca is a software tool that supports the performance optimization of
parallel programs by measuring and analyzing their runtime behavior. The
analysis identifies potential performance bottlenecks -- in particular
those concerning communication and synchronization -- and offers guidance
in exploring their causes.
"""
toolchain = {'name': 'alplompi', 'version': '20.0'}
source_urls = ['http://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist']
sources = [SOURCELOWER_TAR_GZ]
builddependencies = [
('CubeWriter', '4.4.3'),
]
dependencies = [
('CubeGUI', '4.4.4'),
('CubeLib', '4.4.4'),
('OTF2', '2.2'),
('Score-P', '6.0'),
]
sanity_check_paths = {
'files': ['bin/scalasca', ('lib/libpearl.replay.a', 'lib64/libpearl.replay.a')],
'dirs': [],
}
# Ensure that local metric documentation is found by CubeGUI
modextrapaths = {'CUBE_DOCPATH': 'share/doc/scalasca/patterns'}
moduleclass = 'perf'
##
# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild
# Copyright:: Copyright 2013-2019 Juelich Supercomputing Centre, Germany
# Authors:: Bernd Mohr <b.mohr@fz-juelich.de>
# Markus Geimer <m.geimer@fz-juelich.de>
# License:: 3-clause BSD
#
# This work is based on experiences from the UNITE project
# http://apps.fz-juelich.de/unite/
##
name = 'Score-P'
version = '6.0'
homepage = 'https://www.score-p.org'
description = """
The Score-P measurement infrastructure is a highly scalable and easy-to-use
tool suite for profiling, event tracing, and online analysis of HPC
applications.
"""
toolchain = {'name': 'alompi', 'version': '20.0'}
source_urls = ['https://www.vi-hps.org/cms/upload/packages/scorep/']
sources = ['scorep-%(version)s.tar.gz']
patches = ['Score-P-6.0-add-armlinux.patch']
checksums = [
'5dc1023eb766ba5407f0b5e0845ec786e0021f1da757da737db1fb71fc4236b8', # scorep-6.0.tar.gz
]
builddependencies = [
('CubeLib', '4.4.4'),
('CubeWriter', '4.4.3'),
# Unwinding/sampling support (optional):
('libunwind', '1.3.2'),
]
dependencies = [
# binutils is implicitly available via GCC toolchain
# ('binutils', '2.31.1'),
('OPARI2', '2.0.5'),
('OTF2', '2.2'),
# Hardware counter support (optional):
('PAPI', '6.0.0.1'),
# PDT source-to-source instrumentation support (optional):
('PDT', '3.25.1'),
]
configopts = '--enable-shared'
sanity_check_paths = {
'files': ['bin/scorep', 'include/scorep/SCOREP_User.h',
'lib/libscorep_adapter_mpi_event.a',
'lib/libscorep_adapter_mpi_event.%s' % SHLIB_EXT],
'dirs': [],
}
# Ensure that local metric documentation is found by CubeGUI
modextrapaths = {'CUBE_DOCPATH': 'share/doc/scorep/profile'}
moduleclass = 'perf'
# This file is part of JSC's public easybuild repository (https://github.com/easybuilders/jsc)
easyblock = 'ConfigureMake'
name = 'APR-util'
version = '1.6.1'
homepage = 'http://apr.apache.org/'
description = """
Apache Portable Runtime (APR) util libraries.
"""
toolchain = {'name': 'Clang', 'version': '10.0.0'}
source_urls = ['http://archive.apache.org/dist/apr/']
sources = [SOURCELOWER_TAR_GZ]
builddependencies = [
('binutils', '2.34'),
]
dependencies = [
('APR', '1.7.0'),
('SQLite', '3.31.1'),
('expat', '2.2.9'),
]
configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-sqlite3=$EBROOTSQLITE --with-expat=$EBROOTEXPAT "
sanity_check_paths = {
'files': ["bin/apu-1-config", "lib/libaprutil-1.%s" % SHLIB_EXT, "lib/libaprutil-1.a"],
'dirs': ["include/apr-1"],
}
parallel = 1
moduleclass = 'tools'
# This file is part of JSC's public easybuild repository (https://github.com/easybuilders/jsc)
easyblock = 'ConfigureMake'
name = 'APR-util'
version = '1.6.1'
homepage = 'http://apr.apache.org/'
description = """
Apache Portable Runtime (APR) util libraries.
"""
toolchain = {'name': 'GCCcore', 'version': '10.1.0'}
source_urls = ['http://archive.apache.org/dist/apr/']
sources = [SOURCELOWER_TAR_GZ]
builddependencies = [
('binutils', '2.34'),
]
dependencies = [
('APR', '1.7.0'),
('SQLite', '3.31.1'),
('expat', '2.2.9'),
]
configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-sqlite3=$EBROOTSQLITE --with-expat=$EBROOTEXPAT "
sanity_check_paths = {
'files': ["bin/apu-1-config", "lib/libaprutil-1.%s" % SHLIB_EXT, "lib/libaprutil-1.a"],
'dirs': ["include/apr-1"],
}
parallel = 1
moduleclass = 'tools'
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment