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

v0.0.1 Checklist #51

Open
5 of 20 tasks
fluidnumerics-joe opened this issue Sep 4, 2024 · 1 comment
Open
5 of 20 tasks

v0.0.1 Checklist #51

fluidnumerics-joe opened this issue Sep 4, 2024 · 1 comment
Assignees

Comments

@fluidnumerics-joe
Copy link
Member

fluidnumerics-joe commented Sep 4, 2024

Pre-Canned Models

  • Linear Shallow Water (2-D) - Base file should be under src/SELF_ShallowWater2D_t.f90 and the base class should be called ShallowWater2D_t . Only implement linear model to start. Procedure pointers will be used later to easily switch between linear and various nonlinear formulations.
  • Linear Compressible Euler (2-D) - Base file should be under src/SELF_LinearEuler2D_t.f90 and the base class should be called LinearEuler2D_t . Only implement linear model to start with Ideal Gas Law for the equation of state. Procedure pointers will be used later to easily switch between linear and various nonlinear formulations and other EOS's.
  • Linear Compressible Euler (3-D) - Base file should be under src/SELF_LinearEuler3D_t.f90 and the base class should be called LinearEuler3D_t . Only implement linear model to start with Ideal Gas Law for the equation of state. Procedure pointers will be used later to easily switch between linear and various nonlinear formulations and other EOS's.
  • Burgers (1-D) - Base file should be under src/SELF_Burgers1D_t.f90 and the base class should be called Burgers1D_t . Include viscous terms with Bassi-Rebay flux between elements. Include stationary shock problem in examples.

Parallelism

  • Remove OpenMP implementation in favor of do concurrent. Provide documentation for enabling shared memory parallelism in model builds and include additional tests for parallel builds.
  • Finish MPI exchange routines with and without GPU direct communications and add workflow tests for 2-4 MPI ranks on github workflows and 12-32 ranks on Fluid Numerics Armory systems

Workflows

  • On tagged releases, generate .deb (no gpu-acceleration)
  • On tagged releases, generate .rpm (no gpu-acceleration)
  • On tagged releases, generate .tar.gz (no gpu-acceleration, include dependencies in tar-ball)
  • On tagged releases, generate docker image and post to artifact registry (no gpu-acceleration)
  • On tagged releases, generate docker image and post to artifact registry (rocm-6.1.2, all supported gpu targets)
  • On tagged releases, generate docker image and post to artifact registry (cuda 12.0, sm_70 and forward)

Documentation

  • How to install from source
  • How to install via .deb
  • How to install via .rpm
  • How to run with Docker
  • Running included tests and examples
  • Validation studies for included models

Miscellaneous

  • Clean up stdout messages. Init and Free routines should include indications of what is being allocated and how much (e.g. array sizes). Particularly, we want to know what kinds of interpolants are being created and used, how many elements, nodes, and edges/faces in mesh, how many points in the mesh (from geometry), how many degrees of freedom. Additionally, when GPU's are used, we ought to print out the gpu type and count detected and which device is selected.
  • Remove unused variables reported by compiler
@fluidnumerics-joe
Copy link
Member Author

Note for this issue and for the release notes


We have not explicitly tested meshes with flip=1 in 2-D and flip>=1 in 3-D, though these bits are coded up in a way we believe is correct. ( See #53 )

This was referenced Oct 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants