maplib

MapLib provides algorithms for generating mapping of processing elements to processor unities.

https://github.com/unibas-dmi-hpc/maplib

Science Score: 62.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
    Organization unibas-dmi-hpc has institutional domain (hpc.dmi.unibas.ch)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.7%) to scientific vocabulary

Keywords

hpc mapping mapping-algorithms mpi mpi-applications mpi-communications rank-reordering
Last synced: 6 months ago · JSON representation ·

Repository

MapLib provides algorithms for generating mapping of processing elements to processor unities.

Basic Info
Statistics
  • Stars: 2
  • Watchers: 6
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Topics
hpc mapping mapping-algorithms mpi mpi-applications mpi-communications rank-reordering
Created almost 6 years ago · Last pushed over 3 years ago
Metadata Files
Readme License Citation

README.rst

======
MapLib
======
**MapLib** provides algorithms for generating mapping of processing elements to processor unities to three 3-D topologies: mesh, torus, and HAEC Box. MapLib implements: (i) Communication- and topology-oblivious mapping strategies, which do not take into account the communication matrices of the applications nor the target processor topologies. These algorithms follow a predetermined node ordering to map all processes to the available nodes and produce deterministic mappings. (ii) Communication- and topology-aware mapping strategies, which consider both communication matrices of the applications and target processor topologies. These algorithms produce different mappings for a given application–system pair.

**Paper references**


- [J. H. M. Korndörfer, M. Bielert, L. L. Pilla, and F. M. Ciorba, Mapping matters: Application process mapping on 3-d processor topologies, arXiv preprint arXiv:2005.10413 (2020).](https://arxiv.org/abs/2005.10413)

- Paper presentation recording: https://drive.switch.ch/index.php/s/VaO9f7zT79lvRe2


**MapLib contains the following process mapping techniques:**

**Communication- and Topology-Oblivious Mapping:**

| ``Peano``  
| ``Hilbert``  
| ``Gray``  
| ``sweep``  
``scan``

**Communication- and Topology-Aware Mapping:**

| ``Bokhari``  
| ``topo-aware``  
| ``greedy``  
| ``FHgreedy``  
| ``greedyALLC``  
| ``bipartition``   
``PaCMap``

| The folder **mapping-matters-commMatrices** contains all input communication matrices  
| and  
| The folder **mapping-matters-Mappings** contains all mappings that were used in the paper:  
Mapping Matters: Application Process Mapping on 3-D Processor Topologies available at: https://arxiv.org/abs/2005.10413

The sub-folder **MapLib** contains all Python files where mapping.py and mapping_compl.py consist of the implemented mapping algorithms.

**To install the program:**

* Run ``make``
* Run ``pip3 install --editable .``

**As an example of how to use the library, one can run the provided** ``wrapper.sh`` **script**

**Acknowledgments**

Acknowledgment to Daniel Besmer and Viacheslav Sharunov for their earlier contribution to the library.

Owner

  • Name: HPC Group University of Basel
  • Login: unibas-dmi-hpc
  • Kind: organization
  • Email: dmi-hpc@unibas.ch
  • Location: Basel, Switzerland

High performance computing group at the Department of Mathematics and Computer Science at University of Basel, Switzerland

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.

cff-version: 1.2.0
title: MapLib
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Jonas H.
    family-names: Müller Korndörfer
    email: jonas.korndorfer@unibas.ch
    affiliation: 'University of Basel, Switzerland'
    orcid: 'https://orcid.org/0000-0003-3014-3275'
  - given-names: Daniel 
    family-names: Besmer 
  - given-names: Viacheslav 
    family-names: Sharunov
  - given-names: Laércio
    family-names: L. Pilla
    email: pilla@lri.fr
  - given-names: Florina
    family-names: M. Ciorba
    email: florina.ciroba@unibas.ch
    affiliation: 'University of Basel, Switzerland'
    orcid: 'https://orcid.org/0000-0002-2773-4499'
keywords:
  - process mapping
  - process placement
  - performance analysis
  - virtualtopology
  - 3-D topologies
  - HAEC 
  - simulation
license: MIT
repository-code: https://github.com/unibas-dmi-hpc/MapLib

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Dependencies

requirements.txt pypi
  • click *
  • cython *
  • networkx *
  • pytest *
  • pytest-cov *
setup.py pypi
  • click *
  • networkx *