Getting started with Syncopy¶
Installing Syncopy¶
Syncopy can be installed using Pip:
pip install esi-syncopy
Syncopy will soon be hosted on conda-forge as well. If you’re working on the ESI cluster installing Syncopy is only necessary if you create your own Conda environment.
Setting Up Your Python Environment¶
On the ESI cluster, /opt/conda/envs/syncopy
provides a
pre-configured and tested Conda environment with the most recent Syncopy
version. This environment can be easily started using the ESI JupyterHub
Syncopy makes heavy use of temporary files, which may become large (> 100 GB).
The storage location can be set using the environmental variable SPYTMPDIR
, which
by default points to your home directory:
SPYTMPDIR=~/.spy
The performance of Syncopy strongly depends on the read and write speed in this folder. On the ESI JupyterHub, the variable is set to use the high performance storage:
SPYTMPDIR=/mnt/hpx/home/$USER/.spy
Importing Syncopy¶
To start using Syncopy you have to import it in your Python code:
import syncopy as spy
All user-facing functions and classes can then be
accessed with the spy.
prefix, e.g.
spy.load("~/testdata.spy")
Starting Up Parallel Workers¶
In Syncopy all computations are designed to run in parallel taking advantage of modern multi-core system architectures. The simplest way to leverage any available concurrent processing hardware is to use the parallel keyword, e.g.,
spy.freqanalysis(data, method="mtmfft", parallel=True)
This will allocate a parallel worker for each trial defined in data. If your code is running on the ESI cluster, Syncopy will automatically use the existing SLURM scheduler, in a single-machine setup, any available local multi-processing resources will be utilized. More details can be found in the Data Analysis Guide