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

CMake, Recent cuRVE and an ABM-like miniapp #1

Draft
wants to merge 40 commits into
base: master
Choose a base branch
from
Draft

Conversation

ptheywood
Copy link
Member

@ptheywood ptheywood commented Apr 21, 2022

  • Add's CMake-based build system
  • Updates cuRVE to a more recent version stripped out of FLAMEGPU/FLAMEGPU2
  • Adds an ABM-like benhmark mini app, mocking up the FLAME GPU 2-like use-case of cuRVE in isolation.

Example is configured and built as the abm-benchmark miniapp.

Usage includes help, specify -v for verbose output and -vv for additional per iteration verbosity.

Todo

  • add cuRVE error checking into the example and miniapp
  • Clean up the miniapp source a little (docs, refactoring)
  • Make the mini-app more realistic to test register pressure
  • Add some validation of the miniapp beyond printing elements to stdout.
  • Fix windows CI
  • Address warnings generated by CUDA 11.5+ due to deprecation of pragma in third party code (not marked as imported with current CMake logic)
  • Support running multiple scales in a single pass via multiple cli options? Or support config file based runs.

Ideally there should also be:

  • Add unit tests of cuRVE itself
  • Add the RTC version in here for isolated testing of RTC curve
  • Add a reference non-cuRVE implementation of the mini-app (i.e. global mem SoA based implementation)

Prior to merging into master:

  • Re-add cuRVE description info to the readme

…alpha.2

specific hashes since last modified in FLAMEGPU/FLAMEGPU2

curve.cuh
a6373ce08ced38c7a76145a7a4854f1a604f1506

curve.cu
6b69b390aa66b778a6fa8c6709a610e4b8c3c486
This builds the static lib, but not the example/benchmark
Note this does not do any error checking
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

Successfully merging this pull request may close these issues.

1 participant