Experiences Porting Shared and Distributed Applications to Asynchronous Tasks: A Multidimensional FFT Case-study (doi:10.18419/darus-4094)

View:

Part 1: Document Description
Part 2: Study Description
Part 5: Other Study-Related Materials
Entire Codebook

Document Description

Citation

Title:

Experiences Porting Shared and Distributed Applications to Asynchronous Tasks: A Multidimensional FFT Case-study

Identification Number:

doi:10.18419/darus-4094

Distributor:

DaRUS

Date of Distribution:

2024-04-02

Version:

1

Bibliographic Citation:

Strack, Alexander; Taylor, Christopher; Diehl, Patrick; Pflüger, Dirk, 2024, "Experiences Porting Shared and Distributed Applications to Asynchronous Tasks: A Multidimensional FFT Case-study", https://doi.org/10.18419/darus-4094, DaRUS, V1

Study Description

Citation

Title:

Experiences Porting Shared and Distributed Applications to Asynchronous Tasks: A Multidimensional FFT Case-study

Identification Number:

doi:10.18419/darus-4094

Authoring Entity:

Strack, Alexander (Universität Stuttgart)

Taylor, Christopher (Tactical Computing Labs LLC)

Diehl, Patrick (Louisiana State University)

Pflüger, Dirk (Universität Stuttgart)

Distributor:

DaRUS

Access Authority:

Strack, Alexander

Access Authority:

Pflüger, Dirk

Access Authority:

Scientific Computing

Depositor:

Strack, Alexander

Date of Deposit:

2024-03-13

Holdings Information:

https://doi.org/10.18419/darus-4094

Study Scope

Keywords:

Computer and Information Science, HPX, Multidimensional FFT, Asynchronous Many-Task Runtime Models, Shared-Memory Computing, Distributed-Memory Computing

Abstract:

<p>The source code and benchmark scripts related to "Experiences Porting Shared and Distributed Applications to Asynchronous Tasks: A Multidimensional FFT Case-study".</p> <p>This paper conducts a case study of the multidimensional Fast Fourier Transform to identify which applications will benefit from the asynchronous many-task model. Our basis is the popular FFTW library. We use the asynchronous many-task model HPX and a one-dimensional FFTW backend to implement multiple versions using different HPX features and highlight overheads and pitfalls during migration. Furthermore, we add an HPX threading backend to FFTW. The case study analyzes shared memory scaling properties between our HPX-based parallelization and FFTW with its pthreads, OpenMP, and HPX backends. The case study also compares FFTW's MPI+X backend to a purely HPX-based distributed implementation.</p> <p>Find more information how to run the code and scripts in the <a href="https://darus.uni-stuttgart.de/file.xhtml?fileId=286287">README.md</a>.</p>

Methodology and Processing

Sources Statement

Data Access

Other Study Description Materials

Other Study-Related Materials

Label:

CMakeLists.txt

Notes:

text/plain

Other Study-Related Materials

Label:

compile.sh

Notes:

application/x-sh

Other Study-Related Materials

Label:

distributed_benchmark.sh

Notes:

application/x-sh

Other Study-Related Materials

Label:

LICENSE

Notes:

text/plain; charset=US-ASCII

Other Study-Related Materials

Label:

README.md

Notes:

text/markdown

Other Study-Related Materials

Label:

shared_benchmark.sh

Notes:

application/x-sh

Other Study-Related Materials

Label:

install_fftw_hpx.sh

Notes:

application/x-sh

Other Study-Related Materials

Label:

install_fftw_omp_mpi.sh

Notes:

application/x-sh

Other Study-Related Materials

Label:

install_fftw_threads_mpi.sh

Notes:

application/x-sh

Other Study-Related Materials

Label:

fftw_hpx.cpp

Notes:

text/x-c

Other Study-Related Materials

Label:

fftw_mpi_omp.cpp

Notes:

text/x-c

Other Study-Related Materials

Label:

fftw_mpi_threads.cpp

Notes:

text/x-c

Other Study-Related Materials

Label:

fft_hpx_loop.cpp

Notes:

text/x-c

Other Study-Related Materials

Label:

fft_hpx_loop_shared.cpp

Notes:

text/x-c

Other Study-Related Materials

Label:

fft_hpx_task_agas.cpp

Notes:

text/x-c

Other Study-Related Materials

Label:

fft_hpx_task_agas_shared.cpp

Notes:

text/x-c

Other Study-Related Materials

Label:

fft_hpx_task_naive_shared.cpp

Notes:

text/x-c

Other Study-Related Materials

Label:

fft_hpx_task_shared.cpp

Notes:

text/x-c

Other Study-Related Materials

Label:

fft_hpx_task_sync_shared.cpp

Notes:

text/x-c

Other Study-Related Materials

Label:

vector_2d.hpp

Notes:

application/octet-stream