Skip to content

Software Impacts Supplementary Material

Marcel Breyer edited this page Sep 11, 2024 · 3 revisions

Runtime comparison with other SVM implementations using three different dense data sets using a single NVIDIA A100 GPU:

library precision small small medium medium large large
PLSSVM double 0.65s 100% 3.80s 98.92% 3min 44s 95.64%
PLSSVM @ commit d7e6564 double 0.44s 100% 1.34s 100% 46.5s 100%
ThunderSVM @ commit 802e6ed double 1.16s 100% 13.51s 99.99% 7min 57s 99.99%
gpusvm @ commit 342e946 float 1.42s 92.48% 30.33s 90.78% 4min 57s 82.73%
GPUMLiB @ commit 94f8aab float 1.94s 100% 22.93s 73.66% 15min 41s 73.26%
5min 54s 74.37% 1h 21min 72.49%
gtSVM @ commit 44a749e float 1.99s 100% 44.12s + 3.76s 97.85% 11min 56s + 1min 23s 95.41%

Other SVM implementations we were not able to use in our comparison due to compile or runtime errors on our Linux machine:

  • DPSVM @ commit 771221f <https://github.com/thesiddharth/dpsvm/tree/771221f>: deadlock during execution
  • mutisvm <https://code.google.com/archive/p/multisvm/>: Visual Studio build files only
  • cuSVM <http://patternsonascreen.net/cusvm.html>: Windows 32bit only
  • svm-gpu @ commit b2d1c0c <https://github.com/murtazajafferji/svm-gpu/tree/b2d1c0c>: internal Python error
  • wuSVM @ commit 43be1b7 <https://github.com/aliciasun/wusvm/tree/43be1b7>: throws an exception
  • SYCL-ML @ commit 7a5d5ba <https://github.com/codeplaysoftware/SYCL-ML/tree/7a5d5ba>: invalid pointer in example application
  • SVMBenchmark @ commit c55d578 <https://github.com/OrcusCZ/SVMbenchmark>: different SVMs, however, in our tests none of these were able to achieve reasonable accuracy or did not execute at all

If you know fixes for one of the above SVMs or implemented a new SVM library, we would be happy to hear from you and update our table accordingly.