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

Rearchitect and Reinstate GPU #114

Open
wants to merge 319 commits into
base: master
Choose a base branch
from
Open

Conversation

onurulgen
Copy link
Member

  • Reinstated GPU into the project by fixing or implementing missing functions.
  • Rearchitected the project to combine GPU and CPU implementations by using virtual functions.
  • Increased the performance up to 11 times by using GPU.
  • Implemented unit and regression tests for GPU and CPU by using Catch2 framework.
  • Developed GitHub Actions for tests, coverage, static code analysis, and producing CPU and GPU executables for Windows, Linux and macOS.

onurulgen added 30 commits March 1, 2023 17:15
@onurulgen onurulgen self-assigned this Aug 29, 2024
@onurulgen onurulgen linked an issue Aug 29, 2024 that may be closed by this pull request
@onurulgen onurulgen requested review from mmodat and ericspod August 29, 2024 13:12
Copy link

codecov bot commented Aug 29, 2024

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

Copy link

✅Code Analysis Results - no issues found! ✅

@msseibel
Copy link

I had to add set(CMAKE_CUDA_ARCHITECTURES "native") to the CMakeLists.txt file. Otherwise, I got the following error, "CMAKE_CUDA_ARCHITECTURES must be non-empty if set".

Besides that, the build worked, and I was able to run the program.

@onurulgen
Copy link
Member Author

I had to add set(CMAKE_CUDA_ARCHITECTURES "native") to the CMakeLists.txt file. Otherwise, I got the following error, "CMAKE_CUDA_ARCHITECTURES must be non-empty if set".

Besides that, the build worked, and I was able to run the program.

CMAKE_CUDA_ARCHITECTURES are set in here. If you need to set that, your cmake configure command must've failed while detecting CUDA, right?

@msseibel
Copy link

Yes, that is correct. It failed as soon as it reached line 156 enable_language(CUDA).

@onurulgen onurulgen requested a review from Copilot February 12, 2025 16:20
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 670 out of 685 changed files in this pull request and generated 1 comment.

Files not reviewed (15)
  • .github/workflows/linux.yml: Language not supported
  • .github/workflows/macos.yml: Language not supported
  • .github/workflows/windows.yml: Language not supported
  • CMakeLists.txt: Language not supported
  • Doxyfile.in: Language not supported
  • cmake/FindOPENCL.cmake: Language not supported
  • cmake/NIFTYREGConfig.cmake.in: Language not supported
  • niftyreg_build_version.txt: Language not supported
  • reg-apps/CMakeLists.txt: Language not supported
  • reg-apps/reg_average.cpp: Language not supported
  • reg-apps/reg_benchmark.cpp: Language not supported
  • reg-apps/reg_gpuinfo.cpp: Language not supported
  • reg-apps/reg_jacobian.cpp: Language not supported
  • reg-apps/reg_measure.cpp: Language not supported
  • reg-apps/reg_resample.cpp: Language not supported
Comments suppressed due to low confidence (1)

.github/workflows/tests.yml:32

  • The use of ${{ matrix.sudo }} might not be necessary for all platforms. Consider removing it or using a conditional statement.
${{ matrix.sudo }} cmake --build build/ --target install --config ${{ matrix.build_type }}

.github/workflows/tests.yml Show resolved Hide resolved
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.

Rearchitect F3D to reinstate GPU
3 participants