Browse by type

The mission of ThunderSVM is to help users easily and efficiently apply SVMs to solve problems. ThunderSVM exploits GPUs and multi-core CPUs to achieve high efficiency. Key features of ThunderSVM are as follows. * Support all functionalities of LibSVM such as one-class SVMs, SVC, SVR and probabilistic SVMs. * Use same command line options as LibSVM. * Support Python, R and Matlab interfaces. * Supported Operating Systems: Linux, Windows and MacOS.
Why accelerate SVMs: A survey conducted by Kaggle in 2017 shows that 26% of the data mining and machine learning practitioners are users of SVMs.
Documentations | Installation | API Reference (doxygen)
If you want to use GPUs, you also need to install CUDA.
Download the Python wheel file (For Python3 or above).
For Linux
pip install thundersvm for CUDA 9.0 - linux_x86_64
For Windows (64bit)
Install the Python wheel file.
pip install thundersvm-cu90-0.2.0-py3-none-linux_x86_64.whl
from thundersvm import SVC
clf = SVC()
clf.fit(x, y)
git clone https://github.com/Xtra-Computing/thundersvm.git
cd thundersvm
mkdir build && cd build && cmake .. && make -j
If you run into issues that can be traced back to your version of gcc, use cmake with a version flag to force gcc 6. That would look like this:
cmake -DCMAKE_C_COMPILER=gcc-6 -DCMAKE_CXX_COMPILER=g++-6 ..
# in thundersvm root directory
git submodule init eigen && git submodule update
mkdir build && cd build && cmake -DUSE_CUDA=OFF -DUSE_EIGEN=ON .. && make -j
If make -j doesn't work, please simply use make. The number of CPU cores to use can be specified by the -o option (e.g., -o 10), and refer to Parameters for more information.
./bin/thundersvm-train -c 100 -g 0.5 ../dataset/test_dataset.txt
./bin/thundersvm-predict ../dataset/test_dataset.txt test_dataset.txt.model test_dataset.predict
You will see Accuracy = 0.98 after successful running.
If you use ThunderSVM in your paper, please cite our work (full version).
@article{wenthundersvm18,
author = {Wen, Zeyi and Shi, Jiashuai and Li, Qinbin and He, Bingsheng and Chen, Jian},
title = {{ThunderSVM}: A Fast {SVM} Library on {GPUs} and {CPUs}},
journal = {Journal of Machine Learning Research},
volume={19},
pages={797--801},
year = {2018}
}
$ claude mcp add thundersvm \
-- python -m otcore.mcp_server <graph>