All Projects → arcaneframework → framework

arcaneframework / framework

Licence: Apache-2.0 License
The Arcane Framework for HPC codes

Programming Languages

C++
36643 projects - #6 most used programming language
C#
18002 projects
CMake
9771 projects
arc
50 projects
c
50402 projects - #5 most used programming language
SWIG
194 projects

Projects that are alternatives of or similar to framework

Dash
DASH, the C++ Template Library for Distributed Data Structures with Support for Hierarchical Locality for HPC and Data-Driven Science
Stars: ✭ 134 (+793.33%)
Mutual labels:  hpc, parallel-computing
Sundials
SUNDIALS is a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. This is a mirror of current releases, and development will move here eventually. Pull requests are welcome for bug fixes and minor changes.
Stars: ✭ 194 (+1193.33%)
Mutual labels:  hpc, parallel-computing
Opencoarrays
A parallel application binary interface for Fortran 2018 compilers.
Stars: ✭ 151 (+906.67%)
Mutual labels:  hpc, parallel-computing
Onemkl
oneAPI Math Kernel Library (oneMKL) Interfaces
Stars: ✭ 122 (+713.33%)
Mutual labels:  hpc, parallel-computing
hpc
Learning and practice of high performance computing (CUDA, Vulkan, OpenCL, OpenMP, TBB, SSE/AVX, NEON, MPI, coroutines, etc. )
Stars: ✭ 39 (+160%)
Mutual labels:  hpc, parallel-computing
Core
parallel finite element unstructured meshes
Stars: ✭ 124 (+726.67%)
Mutual labels:  hpc, parallel-computing
Samrai
Structured Adaptive Mesh Refinement Application Infrastructure - a scalable C++ framework for block-structured AMR application development
Stars: ✭ 160 (+966.67%)
Mutual labels:  hpc, parallel-computing
Future
🚀 R package: future: Unified Parallel and Distributed Processing in R for Everyone
Stars: ✭ 735 (+4800%)
Mutual labels:  hpc, parallel-computing
t8code
Parallel algorithms and data structures for tree-based AMR with arbitrary element shapes.
Stars: ✭ 37 (+146.67%)
Mutual labels:  hpc, parallel-computing
Foundations of HPC 2021
This repository collects the materials from the course "Foundations of HPC", 2021, at the Data Science and Scientific Computing Department, University of Trieste
Stars: ✭ 22 (+46.67%)
Mutual labels:  hpc, parallel-computing
Charm
The Charm++ parallel programming system. Visit https://charmplusplus.org/ for more information.
Stars: ✭ 96 (+540%)
Mutual labels:  hpc, parallel-computing
ParallelUtilities.jl
Fast and easy parallel mapreduce on HPC clusters
Stars: ✭ 28 (+86.67%)
Mutual labels:  hpc, parallel-computing
Parenchyma
An extensible HPC framework for CUDA, OpenCL and native CPU.
Stars: ✭ 71 (+373.33%)
Mutual labels:  hpc, parallel-computing
Batchtools
Tools for computation on batch systems
Stars: ✭ 127 (+746.67%)
Mutual labels:  hpc, parallel-computing
Sos
Sandia OpenSHMEM is an implementation of the OpenSHMEM specification over multiple Networking APIs, including Portals 4, the Open Fabric Interface (OFI), and UCX. Please click on the Wiki tab for help with building and using SOS.
Stars: ✭ 34 (+126.67%)
Mutual labels:  hpc, parallel-computing
Future.apply
🚀 R package: future.apply - Apply Function to Elements in Parallel using Futures
Stars: ✭ 159 (+960%)
Mutual labels:  hpc, parallel-computing
Jug
Parallel programming with Python
Stars: ✭ 337 (+2146.67%)
Mutual labels:  hpc, parallel-computing
Mfem
Lightweight, general, scalable C++ library for finite element methods
Stars: ✭ 667 (+4346.67%)
Mutual labels:  hpc, parallel-computing
hp2p
Heavy Peer To Peer: a MPI based benchmark for network diagnostic
Stars: ✭ 17 (+13.33%)
Mutual labels:  hpc, parallel-computing
pcluster-manager
Manage AWS ParallelCluster through an easy to use web interface
Stars: ✭ 67 (+346.67%)
Mutual labels:  hpc, parallel-computing

Written by CEA/IFPEN and Contributors

(C) Copyright 2000-2022 CEA/IFPEN. All rights reserved.

All content is the property of the respective authors or their employers.

For more information regarding authorship of content, please consult the listed source code repository logs.

Introduction

Arcane est une plateforme de développement pour les codes de calcul parallèles non structurés 2D ou 3D.

Documentation

La documentation en ligne est accessible depuis internet :

Changelog

Les dernières modifications sont dans le fichier suivant: Changelog

Compilation

Ce dépôt permet de compiler directement Arcane et ses dépendances (Arrcon, Axlstar et Arccore)

La compilation doit se faire dans un répertoire différent de celui contenant les sources.

Pour les prérequis, voir les répertoires Arcane et Arccore:

Pour récuperer les sources:

git clone --recurse-submodules /path/to/git

ou

git clone /path/to/git
cd framework && git submodule update --init --recursive

Il existe deux modes de compilations:

  1. soit on compile Arcane et les projets associées (Arccon, Axlstar et Arccore) en même temps
  2. soit on ne compile qu'un seul composant.

Le défaut est de tout compiler. La variable cmake FRAMEWORK_BUILD_COMPONENT permet de choisir le mode de compilation. Par défaut, la valeur est all et cela signifie qu'on compile tout. Si la valeur est arcane, arccon, arccore ou axlstar alors on ne compile que ces derniers. Il faut donc dans ce cas que les dépendences éventuelles soient déjà installées (par exemple pour Arcane il faut que Arccore soit déjà installé et spécifier son chemin via CMAKE_PREFIX_PATH par exemple).

Pour compiler Arcane et les composantes dont il dépend (arccore, axlstar, arccon)::

mkdir /path/to/build
cmake -S /path/to/sources -B /path/to/build
cmake --build /path/to/build

A noter que dans ce mode où on compile tout à la fois le fichier ArcaneTargets.cmake définira des cibles pour les packages trouvés par Arccon (par exemple la Glib ou MPI). Cela peut poser problème si on mélange cette installation avec une autre qui exporte les même cibles. Pour éviter cela, il est possible de mettre à TRUE la variable CMake FRAMEWORK_NO_EXPORT_PACKAGES.

Pour compiler uniquement Arcane en considérant que les dépendances Arccore, Arccon, Axlstar et ArcDependencies sont déjà installées:

mkdir /path/to/build
cmake -S /path/to/sources -B /path/to/build -DFRAMEWORK_BUILD_COMPONENT=arcane -DArccon_ROOT=... -DArccore_ROOT=... -DAxlstar_ROOT=... -DArcDependencies_ROOT=...
cmake --build /path/to/build

Linux

Cette section indique comment installer sour Linux x64 les dépendances nécessaires.

CMake

Il faut au moins la version 3.18 de CMake. Si elle n'est pas présente sur votre système, la commande suivante permet de l'installer dans /usr/local. Il faudra ensuite ajouter le chemin correspondant dans la variable d'environnement PATH;

# Install CMake 21.3 in /usr/local/cmake
MY_CMAKE_INSTALL_PATH=/usr/local/cmake-3.21.3
wget https://github.com/Kitware/CMake/releases/download/v3.21.3/cmake-3.21.3-linux-x86_64.tar.gz
sudo mkdir ${MY_CMAKE_INSTALL_PATH}
sudo tar -C ${MY_CMAKE_INSTALL_PATH} -x --strip-components 1 -f cmake-3.21.3-linux-x86_64.tar.gz
export PATH=${MY_CMAKE_INSTALL_PATH}/bin:${PATH}
cmake --version

Environnement .Net

L'environnement .Net est accessible via apt mais vous pouvez aussi directement télécharger un fichier tar contenant le binaire et les fichiers nécessaires. Pour l'architecture x64, les commandes suivantes installent l'environnement dans le répertoire $HOME/dotnet.

wget https://download.visualstudio.microsoft.com/download/pr/5e689959-c361-447f-af43-7c9da2595cc6/7cbba6786fe0c132d3c5a6053c85f80b/dotnet-sdk-6.0.103-linux-x64.tar.gz
mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-6.0.103-linux-x64.tar.gz -C $HOME/dotnet
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet

Pour d'autres architectures, la page Download .Net contient la liste des téléchargements disponibles.

Ubuntu 20.04 via les packages systèmes

Les commandes suivantes permettent d'installer les dépendances nécessaires pour Arcane (ainsi que les dépendances optionnelles HDF5 et ParMetis):

sudo apt-get update
sudo apt-get install -y apt-utils build-essential iputils-ping python3 git gfortran libglib2.0-dev libxml2-dev libhdf5-openmpi-dev libparmetis-dev wget
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y apt-transport-https dotnet-sdk-6.0
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].