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

Rename package as TrixiCUDA.jl #49

Merged
merged 2 commits into from
Sep 20, 2024
Merged
Show file tree
Hide file tree
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
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name = "TrixiGPU"
name = "TrixiCUDA"
uuid = "5056661c-942a-472c-b3bc-01507f717a60"
authors = ["Huiyu Xie"]
version = "1.0.0-DEV"
Expand Down
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# TrixiGPU.jl
# TrixiCUDA.jl

[![Build Status](https://github.com/huiyuxie/TrixiGPU.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/huiyuxie/TrixiGPU.jl/actions/workflows/CI.yml?query=branch%3Amain)
[![Build Status](https://github.com/huiyuxie/TrixiCUDA.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/huiyuxie/TrixiCUDA.jl/actions/workflows/CI.yml?query=branch%3Amain)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)

**TrixiGPU.jl** is a component package of the [**Trixi.jl**](https://github.com/trixi-framework/Trixi.jl) ecosystem and provides GPU acceleration support for solving hyperbolic partial differential equations (PDEs). This package was initialized through the [**Google Summer of Code**](https://summerofcode.withgoogle.com/archive/2023/projects/upstR7K2) program in 2023 and is under active development and testing.
**TrixiCUDA.jl** is a component package of the [**Trixi.jl**](https://github.com/trixi-framework/Trixi.jl) ecosystem and provides GPU acceleration support for solving hyperbolic partial differential equations (PDEs). This package was initialized through the [**Google Summer of Code**](https://summerofcode.withgoogle.com/archive/2023/projects/upstR7K2) program in 2023 and is under active development and testing.

The acceleration focus of this package is currently on the semidiscretization part (with plans to extend to other parts) of the PDE solvers, and [**CUDA.jl**](https://github.com/JuliaGPU/CUDA.jl) is our primary support (will expand to more types of GPUs using [**AMDGPU.jl**](https://github.com/JuliaGPU/AMDGPU.jl), [**OneAPI.jl**](https://github.com/JuliaGPU/oneAPI.jl), and [**Metal.jl**](https://github.com/JuliaGPU/Metal.jl) in the future).

Expand All @@ -15,15 +15,15 @@ The package is now in pre-release status and will be registered once the initial
## Users
Users who are interested now can install the package by running the following command in the Julia REPL:
```julia
julia> using Pkg; Pkg.add(url="https://github.com/czha/TrixiGPU.jl.git")
julia> using Pkg; Pkg.add(url="https://github.com/trixi-gpu/TrixiCUDA.jl.git")
```
Then the package can be used with the following simple command:
```julia
julia> using TrixiGPU
julia> using TrixiCUDA
```
This package serves as a support package, so it is recommended to these packages together:
```julia
julia> using Trixi, TrixiGPU, OrdinaryDiffEq
julia> using Trixi, TrixiCUDA, OrdinaryDiffEq
```

## Developers
Expand All @@ -48,11 +48,11 @@ Our current focus is on the semidiscretization of PDEs. The table below shows th
| `DGMultiMesh` | 1D, 2D, 3D | `DGMulti` | 🟡 Planned |

# Example of PDE Semidiscretization on GPU
Let's take a look at a simple example to see how to use **TrixiGPU.jl** to run the simulation on the GPU (now only CUDA-compatible).
Let's take a look at a simple example to see how to use **TrixiCUDA.jl** to run the simulation on the GPU (now only CUDA-compatible).

```julia
# Take 1D linear advection equation as an example
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

###############################################################################
Expand All @@ -76,7 +76,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition_convergen
###############################################################################
# ODE solvers, callbacks etc.

ode = semidiscretize_gpu(semi, (0.0, 1.0)) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, (0.0, 1.0)) # from TrixiCUDA.jl

summary_callback = SummaryCallback()

Expand All @@ -100,7 +100,7 @@ summary_callback()
```

# Benchmarks
Coming...
Please check benchmark branch and this part will be updated soon.

# Show Your Support
We always welcome new contributors to join us in future development. Please feel free to reach out if you would like to get involved!
4 changes: 2 additions & 2 deletions examples/advection_basic_1d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand Down Expand Up @@ -28,7 +28,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition_convergen
# ODE solvers, callbacks etc.

# Create ODE problem with time span from 0.0 to 1.0
ode = semidiscretize_gpu(semi, (0.0, 1.0)) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, (0.0, 1.0)) # from TrixiCUDA.jl

# At the beginning of the main loop, the SummaryCallback prints a summary of the simulation setup
# and resets the timers
Expand Down
4 changes: 2 additions & 2 deletions examples/advection_basic_2d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand Down Expand Up @@ -28,7 +28,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition_convergen
# ODE solvers, callbacks etc.

# Create ODE problem with time span from 0.0 to 1.0
ode = semidiscretize_gpu(semi, (0.0, 1.0)) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, (0.0, 1.0)) # from TrixiCUDA.jl

# At the beginning of the main loop, the SummaryCallback prints a summary of the simulation setup
# and resets the timers
Expand Down
4 changes: 2 additions & 2 deletions examples/advection_basic_3d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand Down Expand Up @@ -28,7 +28,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition_convergen
# ODE solvers, callbacks etc.

# Create ODE problem with time span from 0.0 to 1.0
ode = semidiscretize_gpu(semi, (0.0, 1.0)) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, (0.0, 1.0)) # from TrixiCUDA.jl

# At the beginning of the main loop, the SummaryCallback prints a summary of the simulation setup
# and resets the timers
Expand Down
4 changes: 2 additions & 2 deletions examples/advection_mortar_2d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand Down Expand Up @@ -27,7 +27,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver)
# ODE solvers, callbacks etc.

tspan = (0.0, 1.0)
ode = semidiscretize_gpu(semi, tspan) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, tspan) # from TrixiCUDA.jl

summary_callback = SummaryCallback()

Expand Down
4 changes: 2 additions & 2 deletions examples/advection_mortar_3d.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand Down Expand Up @@ -30,7 +30,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver)
# ODE solvers, callbacks etc.

tspan = (0.0, 5.0)
ode = semidiscretize_gpu(semi, tspan) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, tspan) # from TrixiCUDA.jl

summary_callback = SummaryCallback()

Expand Down
4 changes: 2 additions & 2 deletions examples/euler_ec_1d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand All @@ -25,7 +25,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver)
# ODE solvers, callbacks etc.

tspan = (0.0, 0.4)
ode = semidiscretize_gpu(semi, tspan) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, tspan) # from TrixiCUDA.jl

summary_callback = SummaryCallback()

Expand Down
4 changes: 2 additions & 2 deletions examples/euler_ec_2d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand Down Expand Up @@ -27,7 +27,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver,
# ODE solvers, callbacks etc.

tspan = (0.0, 0.4)
ode = semidiscretize_gpu(semi, tspan) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, tspan) # from TrixiCUDA.jl

summary_callback = SummaryCallback()

Expand Down
4 changes: 2 additions & 2 deletions examples/euler_ec_3d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand Down Expand Up @@ -26,7 +26,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver)
# ODE solvers, callbacks etc.

tspan = (0.0, 0.4)
ode = semidiscretize_gpu(semi, tspan) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, tspan) # from TrixiCUDA.jl

summary_callback = SummaryCallback()

Expand Down
4 changes: 2 additions & 2 deletions examples/euler_shockcapturing_1d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand Down Expand Up @@ -35,7 +35,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver)
# ODE solvers, callbacks etc.

tspan = (0.0, 1.0)
ode = semidiscretize_gpu(semi, tspan) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, tspan) # from TrixiCUDA.jl

summary_callback = SummaryCallback()

Expand Down
4 changes: 2 additions & 2 deletions examples/euler_shockcapturing_2d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand Down Expand Up @@ -35,7 +35,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver)
# ODE solvers, callbacks etc.

tspan = (0.0, 1.0)
ode = semidiscretize_gpu(semi, tspan) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, tspan) # from TrixiCUDA.jl

summary_callback = SummaryCallback()

Expand Down
4 changes: 2 additions & 2 deletions examples/euler_shockcapturing_3d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand Down Expand Up @@ -37,7 +37,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver)
# ODE solvers, callbacks etc.

tspan = (0.0, 0.4)
ode = semidiscretize_gpu(semi, tspan) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, tspan) # from TrixiCUDA.jl

summary_callback = SummaryCallback()

Expand Down
4 changes: 2 additions & 2 deletions examples/euler_source_terms_1d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand Down Expand Up @@ -27,7 +27,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver,
# ODE solvers, callbacks etc.

tspan = (0.0, 2.0)
ode = semidiscretize_gpu(semi, tspan) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, tspan) # from TrixiCUDA.jl

summary_callback = SummaryCallback()

Expand Down
4 changes: 2 additions & 2 deletions examples/euler_source_terms_2d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand All @@ -24,7 +24,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver,
# ODE solvers, callbacks etc.

tspan = (0.0, 2.0)
ode = semidiscretize_gpu(semi, tspan) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, tspan) # from TrixiCUDA.jl

summary_callback = SummaryCallback()

Expand Down
4 changes: 2 additions & 2 deletions examples/euler_source_terms_3d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand Down Expand Up @@ -26,7 +26,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver,
# ODE solvers, callbacks etc.

tspan = (0.0, 5.0)
ode = semidiscretize_gpu(semi, tspan) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, tspan) # from TrixiCUDA.jl

summary_callback = SummaryCallback()

Expand Down
4 changes: 2 additions & 2 deletions examples/eulermulti_ec_1d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand Down Expand Up @@ -26,7 +26,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver)
# ODE solvers, callbacks etc.

tspan = (0.0, 0.4)
ode = semidiscretize_gpu(semi, tspan) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, tspan) # from TrixiCUDA.jl

summary_callback = SummaryCallback()

Expand Down
4 changes: 2 additions & 2 deletions examples/eulermulti_ec_2d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand Down Expand Up @@ -26,7 +26,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver)
# ODE solvers, callbacks etc.

tspan = (0.0, 0.4)
ode = semidiscretize_gpu(semi, tspan) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, tspan) # from TrixiCUDA.jl

summary_callback = SummaryCallback()

Expand Down
4 changes: 2 additions & 2 deletions examples/hypdiff_nonperiodic_1d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand Down Expand Up @@ -29,7 +29,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver,
# ODE solvers, callbacks etc.

tspan = (0.0, 5.0)
ode = semidiscretize_gpu(semi, tspan) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, tspan) # from TrixiCUDA.jl

summary_callback = SummaryCallback()

Expand Down
4 changes: 2 additions & 2 deletions examples/hypdiff_nonperiodic_2d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand Down Expand Up @@ -32,7 +32,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver,
# ODE solvers, callbacks etc.

tspan = (0.0, 5.0)
ode = semidiscretize_gpu(semi, tspan) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, tspan) # from TrixiCUDA.jl

summary_callback = SummaryCallback()

Expand Down
4 changes: 2 additions & 2 deletions examples/hypdiff_nonperiodic_3d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand Down Expand Up @@ -33,7 +33,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver,
# ODE solvers, callbacks etc.

tspan = (0.0, 5.0)
ode = semidiscretize_gpu(semi, tspan) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, tspan) # from TrixiCUDA.jl

summary_callback = SummaryCallback()

Expand Down
4 changes: 2 additions & 2 deletions examples/shallowwater_dirichlet_1d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand Down Expand Up @@ -39,7 +39,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver,
# ODE solvers, callbacks etc.

tspan = (0.0, 1.0)
ode = semidiscretize_gpu(semi, tspan) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, tspan) # from TrixiCUDA.jl

summary_callback = SummaryCallback()

Expand Down
4 changes: 2 additions & 2 deletions examples/shallowwater_dirichlet_2d.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Trixi, TrixiGPU
using Trixi, TrixiCUDA
using OrdinaryDiffEq

# The example is taken from the Trixi.jl
Expand Down Expand Up @@ -39,7 +39,7 @@ semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver,
# ODE solvers, callbacks etc.

tspan = (0.0, 1.0)
ode = semidiscretize_gpu(semi, tspan) # from TrixiGPU.jl
ode = semidiscretize_gpu(semi, tspan) # from TrixiCUDA.jl

summary_callback = SummaryCallback()

Expand Down
Loading
Loading