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

Feature: Passing arguments to NVCC compiler #26

Merged
merged 22 commits into from
Feb 12, 2024

Conversation

cosminc98
Copy link
Collaborator

@cosminc98 cosminc98 commented Jan 23, 2024

Main changes:

  • Added option to pass arguments to "nvcc" when compiling.
  • Tested with changing the C++ dialect (from c++17 to c++14)
  • Tested by compiling with an external library (OpenCV)
  • Added documentation for compiling with OpenCV to load an image, blur it with a CUDA kernel and writing it back to disk with OpenCV.
  • Updated the devcontainer and test runner environments to use CUDA toolkit 12.3 to fix a bug when compiling with OpenCV. After this update, had to mock the "ncu" profiler because it was giving an error in the new toolkit version.

@codecov-commenter
Copy link

codecov-commenter commented Jan 23, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (5cd2258) 88.65% compared to head (ee9aa3d) 94.19%.

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #26      +/-   ##
==========================================
+ Coverage   88.65%   94.19%   +5.54%     
==========================================
  Files           3        3              
  Lines         141      155      +14     
  Branches       16       21       +5     
==========================================
+ Hits          125      146      +21     
+ Misses         11        5       -6     
+ Partials        5        4       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@cosminc98 cosminc98 force-pushed the feature/compiler-args branch from 1baf202 to 6236fe2 Compare January 24, 2024 00:14
@cosminc98 cosminc98 closed this Jan 24, 2024
@cosminc98
Copy link
Collaborator Author

cosminc98 commented Jan 24, 2024

Closing this for now as there are a few more things I want to add first:

  1. Tests and documentation on using external libraries (opencv as an example)
  2. Allowing overwriting the default values for the --compiler-args and --profiler-args options using a new line magic; this will make it possible to set the compiler options for linking with opencv once per notebook and not have to write them on every cell
  3. README.md update

@cosminc98 cosminc98 reopened this Jan 27, 2024
@cosminc98
Copy link
Collaborator Author

@andreinechaev After you review this PR, please merge it and push the tag "v1.1.0" (changed version from "1.0.3" because we added features in a backward compatible manner, thus had to bump the minor version) to the "master" branch to trigger the publish to pypi workflow.

@andreinechaev andreinechaev merged commit 781ff5b into master Feb 12, 2024
7 checks passed
@andreinechaev andreinechaev deleted the feature/compiler-args branch February 12, 2024 16:29
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.

Is it possible to specify C++ standard version for compilation? C++17, C++20?
3 participants