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

Release 1.4.0 to master #866

Merged
merged 1,008 commits into from
Aug 23, 2021
Merged

Release 1.4.0 to master #866

merged 1,008 commits into from
Aug 23, 2021

Conversation

tcojean
Copy link
Member

@tcojean tcojean commented Aug 20, 2021

This should port all the changes from 1.4.0 to master.

This needs some checking to ensure the correct range of commits is applied and that the references to master stay in place.

upsj and others added 30 commits August 20, 2021 10:47
Co-authored-by: Terry Cojean <terry.cojean@kit.edu>
* remove MSVC support completely
* only find packages if they are needed
This avoids printing a lengthy and maybe surprising error message:

CMake Warning at examples/CMakeLists.txt:39 (find_package):
  By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "OpenCV", but
  CMake did not find one.

  Could not find a package configuration file provided by "OpenCV" with any
  of the following names:

    OpenCVConfig.cmake
    opencv-config.cmake

  Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set
  "OpenCV_DIR" to a directory containing one of the above files.  If "OpenCV"
  provides a separate development package or SDK, be sure it has been
  installed.
HIP doesn't support CUDA 11.*
This reworks the previous adaptiv benchmarking.
Now, the number of iteration is determined on-the-fly instead of before-hand.
Also new cmd-line flags have been added to allow for greater control over the adaptive benchmarks.
The usage is similar to google benchmark.

Currently, it is not possible to use this approach for the preconditioner benchmark, as these do not update the runtime in each iteration.
this changes the preconditioner benchmark to time each preconditioner apply/generate individually, unifying the timing approach across all benchmarks.
- adds more documentation
- minor formatting
- made `status` private s.t. it is not part of the
  public interface of `IterationControl`

Co-authored-by: Yuhsiang Tsai <yhmtsai@gmail.com>
Co-authored-by: Tobias Ribizel <ribizel@kit.edu>
Now the `run_control` object also controls taking the timings. The user does not need to issue the timings by hand anymore. This allows to use increasingly larger intervals between two timings, unitl the benchmark run is finished.

Drawback: everything within the `ic.run()` loop gets timed, parts that should be exempt need to be moved outside of the loop.
Internally this uses a thin wrapper class for the `timer` object, which just skips the `tic/toc` calls, if the `run_control` object does not manage the timings. In that case, the timings have to be issued outside as before.
- clarify documentation
- add accessor to underlying timer
- formatting
- adds flag to choose repetitions growth factor

Co-authored-by: Yuhsiang Tsai <yhmtsai@gmail.com>
Co-authored-by: Tobias Ribizel <ribizel@kit.edu>
Co-authored-by: Terry Cojean <terry.cojean@kit.edu>
Since we added the DPCPP version information, we need to skip one
additional line
@tcojean tcojean added the 1:ST:ready-for-review This PR is ready for review label Aug 20, 2021
@tcojean tcojean self-assigned this Aug 20, 2021
@sonarcloud
Copy link

sonarcloud bot commented Aug 20, 2021

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

64.0% 64.0% Coverage
5.2% 5.2% Duplication

@codecov
Copy link

codecov bot commented Aug 20, 2021

Codecov Report

Merging #866 (555f65e) into master (4678668) will increase coverage by 1.52%.
The diff coverage is 92.75%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #866      +/-   ##
==========================================
+ Coverage   92.89%   94.41%   +1.52%     
==========================================
  Files         303      416     +113     
  Lines       21331    33216   +11885     
==========================================
+ Hits        19815    31361   +11546     
- Misses       1516     1855     +339     
Impacted Files Coverage Δ
core/base/executor.cpp 15.38% <0.00%> (-2.80%) ⬇️
core/base/extended_float.hpp 92.23% <ø> (ø)
core/base/mtx_io.cpp 85.07% <ø> (+0.74%) ⬆️
core/base/utils.hpp 100.00% <ø> (+100.00%) ⬆️
core/base/version.cpp 100.00% <ø> (ø)
core/device_hooks/common_kernels.inc.cpp 0.00% <ø> (ø)
core/device_hooks/cuda_hooks.cpp 56.25% <ø> (+0.69%) ⬆️
core/device_hooks/dpcpp_hooks.cpp 27.27% <ø> (ø)
core/device_hooks/hip_hooks.cpp 56.25% <ø> (+0.69%) ⬆️
core/factorization/ic.cpp 96.87% <ø> (ø)
... and 434 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4678668...555f65e. Read the comment docs.

Copy link
Member

@pratikvn pratikvn left a comment

Choose a reason for hiding this comment

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

LGTM!

Copy link
Member

@thoasm thoasm left a comment

Choose a reason for hiding this comment

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

LGTM!

@tcojean tcojean merged commit f811917 into master Aug 23, 2021
@tcojean tcojean deleted the release/1.4.0 branch August 23, 2021 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1:ST:ready-for-review This PR is ready for review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants