Source code for nest.lib.hl_api_parallel_computing

# -*- coding: utf-8 -*-
#
# hl_api_parallel_computing.py
#
# This file is part of NEST.
#
# Copyright (C) 2004 The NEST Initiative
#
# NEST is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# NEST is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with NEST.  If not, see <http://www.gnu.org/licenses/>.

"""
Functions for parallel computing
"""

from .hl_api_helper import *


[docs]@check_stack def Rank(): """Return the MPI rank of the local process. Returns ------- int: MPI rank of the local process Note ---- DO NOT USE Rank() TO EXECUTE ANY FUNCTION IMPORTED FROM THE nest MODULE ON A SUBSET OF RANKS IN AN MPI-PARALLEL SIMULATION. This will lead to unpredictable behavior. Symptoms may be an error message about non-synchronous global random number generators or deadlocks during simulation. In the worst case, the simulation may complete but generate nonsensical results. """ sr("Rank") return spp()
[docs]@check_stack def NumProcesses(): """Return the overall number of MPI processes. Returns ------- int: Number of overall MPI processes """ sr("NumProcesses") return spp()
[docs]@check_stack def SetAcceptableLatency(port_name, latency): """Set the acceptable latency (in ms) for a MUSIC port. Parameters ---------- port_name : str MUSIC port to set latency for latency : float Latency in ms """ sps(kernel.SLILiteral(port_name)) sps(latency) sr("SetAcceptableLatency")
[docs]@check_stack def SetMaxBuffered(port_name, size): """Set the maximum buffer size for a MUSIC port. Parameters ---------- port_name : str MUSIC port to set buffer size for size : int Buffer size """ sps(kernel.SLILiteral(port_name)) sps(size) sr("SetMaxBuffered")