Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update flashx_performance_portability.md #724

Merged
merged 4 commits into from
Jan 16, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions collections/_projects/flashx_performance_portability.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
layout: post
title: Performance Portability in Flash-X
date: 2023-01-25
updated: 2024-02-05
updated: 2025-01-16
navbar: Research
subnavbar: Projects
project_url:
Expand All @@ -16,6 +16,8 @@ keywords:
head: dubey_a
members:
- wahib_m
- lee_y
- weide_k
---

## Research topic and goals
Expand All @@ -31,7 +33,7 @@ Flash-X was released in February 2022, with several features of the performance
This year we worked on various code generation tools that each focus on one aspect of code generation, but are needed to integrate the performance portability layer with various physics. We used the tool CGKit for generated different control flow variants of the primary hydrodynamics solver in Flash-X. The results were put in a paper that was submitted to the FGCS special issue on jlesc. The paper is also on arxiv {% cite rudi2024cgkit --file jlesc.bib %}. We were also able to integrate a full-featured hydrodynamics solver with CGKit (for control flow) and Milhoja (for data movement). We are currently exploring performance of the code with these tools.

## Results for 2024/2025
The paper on CGKit was published in FGCS special issue. We built code generators for patching recipe translation with the runtime and used it to experiment with variations in configurations for two different applications. The first was a hydrodynamics only application, while the second use a specialized equation of state and nuclear burning also. In both cases we varied the disctribution of work between the CPU and the GPU by simply changing the recipe with no modification in the source code. Some of the results from these experiments were presented in a poster at SC24. A paper using these results will be submitted shortly.
The paper on CGKit was published in FGCS special issue {% cite RUDI2025107511 --file jlesc.bib %}. We built code generators for patching recipe translation with the runtime and used it to experiment with variations in configurations for two different applications. The first was a hydrodynamics only application, while the second use a specialized equation of state and nuclear burning also. In both cases we varied the disctribution of work between the CPU and the GPU by simply changing the recipe with no modification in the source code. Some of the results from these experiments were presented in a poster at SC24 {% cite Lee2024 --file jlesc.bib %}. A paper using these results will be submitted shortly.

## Visits and meetings

Expand Down
Loading