Open NicerNewerCar opened 1 year ago
OSX > 10.6 is shipped with OpenCL
After talking with @thewtex, it seems the version shipped on macOS is OpenCL 1.2 (see ITKVkFFTBackend/CMakeLists.txt) and current GPU integration effort are focusing on Metal.
HDist
The is available in the SegmentComparison module.
Implementation available in vtkSlicerSegmentComparisonModuleLogic::ComputeHausdorffDistances through plastimatch/util/hausdorff_distance.h
Hdist info https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.directed_hausdorff.html https://www.slicer.org/wiki/Documentation/Nightly/Extensions/ModelToModelDistance https://www.insight-journal.org/browse/publication/106 https://www.nitrc.org/projects/meshvalmet/ https://www.nitrc.org/docman/view.php/449/919/mesh-icme02.pdf
Feature parity between CUDA and OpenCL
libautoscoper
Tracker
classesload
function used on top of thencc
code, OpenCL just usesncc
. See lines274-278
inTracker.cpp
.Build warnings: CUDA vs OpenCL
CUDA
Addressed in Issue #42
copy of C4267:
copy of #1215-D:
OpenCL
Fixed in PR #44
Warning seems to be caused by the
shader_to_header
creating a file with the extensionexample.cl.h
but the program is looking for justexample.h
.Copy of one of the warnings:
History
Cuda was last updated in August of 2020 127b063 OpenCL was last updated in April of 2018 fe02d20
Distribution
According to Ben Birdsong:
OpenCL-ICD-Loader
Description:
Basic usage in cmake (from the OpenCL-ICD-Loader repo ):
Installation
Time analysis
Time were recorded by timing the optimize method in the tracker class. Both OpenCL and CUDA had 800 tracks performed. The following is the result of running this script.
CPU: 11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz GPU: NVIDIA RTX A2000 Laptop GPU RAM: 32GB OS: Windows 11 Pro 64-bit
Average CUDA: 9.18217857142857 OpenCL: 10.284844221105526 Median CUDA: 9.023 OpenCL: 10.1995 Standard Deviation CUDA: 0.9538181864603326 OpenCL: 1.1481717995852314
Welch's T Test: t-statistic: -20.7770213974207 p-value: 1.0891601943552252e-84 There is significant difference between CUDA and OpenCL