-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d354993
commit 6db69d2
Showing
22 changed files
with
2,462 additions
and
54 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,8 +11,12 @@ Julien Bigot - CEA ([email protected]) | |
* Maintainer (Dec. 2014 - ...) | ||
* Design and initial implementation | ||
|
||
Amal Gueroudji - CEA ([email protected]) | ||
* Deisa plugin creation | ||
|
||
Benoit Martin - CEA ([email protected]) | ||
* CMake maintainer (Oct. 2024 - ...) | ||
* Deisa plugin refactoring | ||
|
||
Tomasz Paluszkiewicz - PSNC ([email protected]) | ||
The scientific/academic work is financed from financial resources for science | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,6 +13,9 @@ Mohamed Gaalich - CEA ([email protected]) | |
* Added Fortran example | ||
* Added FTI example | ||
|
||
Benoit Martin - CEA ([email protected]) | ||
* Added Deisa example | ||
|
||
Tomasz Paluszkiewicz - PSNC ([email protected]) | ||
The scientific/academic work is financed from financial resources for science | ||
in the years 2016 - 2018 granted for the realization of the international | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# duration in seconds | ||
duration: 0.75 | ||
# global [height, width] (excluding boundary conditions or ghosts) | ||
datasize: [60, 12] | ||
# degree of parallelism | ||
parallelism: { height: 3, width: 1 } | ||
|
||
# only the following config is passed to PDI | ||
pdi: | ||
metadata: # type of small values for which PDI keeps a copy | ||
iter: int # current iteration id | ||
dsize: { size: 2, type: array, subtype: int } # local data size including ghosts/boundary | ||
psize: { size: 2, type: array, subtype: int } # number of processes in each dimension | ||
pcoord: { size: 2, type: array, subtype: int } # coordinate of the process | ||
data: # type of values for which PDI does not keep a copy | ||
main_field: { size: [ '$dsize[0]', '$dsize[1]' ], type: array, subtype: double } | ||
|
||
plugins: | ||
mpi: | ||
deisa: | ||
scheduler_info: /tmp/scheduler.json | ||
init_on: main_loop | ||
time_step: $iter | ||
deisa_arrays: | ||
global_t: # Name of the Deisa array | ||
type: array | ||
subtype: double | ||
size: [ 10, '$psize[0]*($dsize[0]-2)', '$psize[1]*($dsize[1]-2)' ] # first dimension corresponds to time steps | ||
subsize: [ 1, '$dsize[0]-2', '$dsize[1]-2' ] | ||
start: [ $iter, '($dsize[0]-2)*$pcoord[0]', '($dsize[1]-2)*$pcoord[1]' ] | ||
+timedim: 0 | ||
map_in: | ||
main_field: global_t # `main_field` is mapped to `global_t` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
from deisa import Deisa | ||
|
||
# Scheduler file name and configuration file | ||
scheduler_info = '/tmp/scheduler.json' | ||
|
||
# Initialize Deisa | ||
deisa = Deisa(scheduler_info, nb_workers=1, use_ucx=False) | ||
|
||
# either: Get data descriptor as a list of Deisa arrays object | ||
arrays = deisa.get_deisa_arrays() | ||
|
||
# Select data | ||
gt = arrays["global_t"][...] | ||
|
||
# Check contract | ||
arrays.check_contract() | ||
|
||
|
||
########################## | ||
# Perform analysis here | ||
########################## | ||
|
||
|
||
arrays.validate_contract() | ||
|
||
deisa.wait_for_last_bridge_and_shutdown() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
#============================================================================= | ||
# Copyright (c) 2020-2024 Centre national de la recherche scientifique (CNRS) | ||
# Copyright (c) 2020-2024 Commissariat a l'énergie atomique et aux énergies alternatives (CEA) | ||
# Copyright (c) 2020-2023 Institut national de recherche en informatique et en automatique (Inria) | ||
# Copyright (c) 2020-2024 Université Paris-Saclay | ||
# Copyright (c) 2020-2024 Université de Versailles Saint-Quentin-en-Yvelines | ||
# | ||
# SPDX-License-Identifier: MIT | ||
#============================================================================= | ||
|
||
cmake_minimum_required(VERSION 3.16...3.29) | ||
project(pdi_deisa_plugin LANGUAGES C CXX) | ||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake") | ||
|
||
include(GNUInstallDirs) | ||
|
||
find_package(Python3Path 3.8.2 REQUIRED COMPONENTS Interpreter Development) | ||
|
||
# PyBind11 | ||
set(Python_ADDITIONAL_VERSIONS "${Python3_VERSION}" CACHE STRING "Python version found by FindPython3 for coherency" FORCE) | ||
set(PYBIND11_PYTHON_VERSION "${Python3_VERSION}" CACHE STRING "Python version to use for compiling modules" FORCE) | ||
find_package(pybind11 2.4.3 REQUIRED) | ||
|
||
# PDI | ||
find_package(PDI REQUIRED COMPONENTS plugins pysupport) | ||
find_package(MPI REQUIRED COMPONENTS CXX) | ||
|
||
# The plugin | ||
add_library(pdi_deisa_plugin MODULE deisa.cxx) | ||
target_link_libraries(pdi_deisa_plugin PUBLIC PDI::PDI_plugins PDI::PDI_pysupport pybind11::embed MPI::MPI_CXX) | ||
set_target_properties(pdi_deisa_plugin PROPERTIES | ||
CXX_STANDARD_REQUIRED TRUE | ||
CXX_VISIBILITY_PRESET hidden) | ||
|
||
# installation | ||
set(INSTALL_PDIPLUGINDIR "${PDI_DEFAULT_PLUGINDIR}" CACHE PATH "PDI plugins (${PDI_DEFAULT_PLUGINDIR})") | ||
install(TARGETS pdi_deisa_plugin | ||
LIBRARY DESTINATION "${INSTALL_PDIPLUGINDIR}" | ||
) |
Oops, something went wrong.