Difference between revisions of "Eosc/easybuild/benchmark"

From Nordic Language Processing Laboratory
Jump to: navigation, search
(TensorFlow)
(NumPy)
Line 12: Line 12:
 
= NumPy =
 
= NumPy =
 
We use [https://source.coderefinery.org/nlpl/easybuild/-/blob/ak-dev/tests/numpy/numpy_test.py this Python script] which tests matrix multiplications and singular value decomposition (SVD).
 
We use [https://source.coderefinery.org/nlpl/easybuild/-/blob/ak-dev/tests/numpy/numpy_test.py this Python script] which tests matrix multiplications and singular value decomposition (SVD).
 +
Only CPU is employed.
  
 
== OpenBLAS on Saga ==
 
== OpenBLAS on Saga ==
 +
<nowiki>$ module use -a /cluster/shared/nlpl/software/easybuild_ak/easybuild/install/modules/all/
 +
$ module load numpy/1.18.1-foss-2019b-Python-3.7.4
 +
$ python3 tests/numpy/numpy_test.py
 +
Multiplication took 78 seconds.
 +
SVD took 60 seconds.</nowiki>
  
 
== IMKL on Saga ==
 
== IMKL on Saga ==
 +
<nowiki>$ module use -a /cluster/shared/nlpl/software/easybuild_ak/easybuild/install/modules/all/
 +
$ module load NLPL-numpy/1.18.1-gomkl-2019b-Python-3.7.4
 +
$ python3 tests/numpy/numpy_test.py
 +
Multiplication took 55 seconds.
 +
SVD took 49 seconds.</nowiki>
  
 
= TensorFlow =
 
= TensorFlow =

Revision as of 23:33, 22 November 2020

Background

In the context of the EOSC-Nordic EasyBuild pilot, the following page provides instructions for how to benchmark different software configurations on typical problems that are likely to affect NLPL users. Relevant variation will typically contrast pre-compiled binary installations (e.g. `pip` wheels) vs. locally compiled modules, where architecture-specific optimizations are enabled and optimized libraries (e.g. Intel MKL) are used.

NumPy

We use this Python script which tests matrix multiplications and singular value decomposition (SVD). Only CPU is employed.

OpenBLAS on Saga

$ module use -a /cluster/shared/nlpl/software/easybuild_ak/easybuild/install/modules/all/
$ module load numpy/1.18.1-foss-2019b-Python-3.7.4
$ python3 tests/numpy/numpy_test.py
Multiplication took 78 seconds.
SVD took 60 seconds.

IMKL on Saga

$ module use -a /cluster/shared/nlpl/software/easybuild_ak/easybuild/install/modules/all/
$ module load NLPL-numpy/1.18.1-gomkl-2019b-Python-3.7.4
$ python3 tests/numpy/numpy_test.py
Multiplication took 55 seconds.
SVD took 49 seconds.

TensorFlow

We use training an ELMo model on 2 GPUs as a benchmark. Any plain text corpus can be fed to this code.