ThunderSVM: A Fast SVM Library on GPUs and CPUs

Build Status Build status GitHub license Documentation Status GitHub issues PyPI version Downloads

What's new

  • We have recently released ThunderGBM, a fast GBDT and Random Forest library on GPUs.
  • add scikit-learn interface, see here

Overview

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, Matlab and Ruby 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.

Documentation | Installation | API Reference (doxygen)

Contents

Getting Started

Prerequisites

  • cmake 2.8 or above
  • gcc 4.8 or above for Linux and MacOS
  • Visual C++ for Windows

If you want to use GPUs, you also need to install CUDA.

Quick Install

Download the Python wheel file (For Python3 or above).

Install the Python wheel file.

pip install thundersvm-cu90-0.2.0-py3-none-linux_x86_64.whl
Example
from thundersvm import SVC
clf = SVC()
clf.fit(x, y)

Download

git clone https://github.com/Xtra-Computing/thundersvm.git

Build on Linux (build instructions for MacOS and Windows)

ThunderSVM on GPUs
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 ..
ThunderSVM on CPUs
# in thundersvm root directory
git submodule init eigen && git submodule update
mkdir build && cd build && cmake -DUSE_CUDA=OFF .. && 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.

Quick Start

./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.

How to cite ThunderSVM

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}
}

Other publications

  • Zeyi Wen, Jiashuai Shi, Bingsheng He, Yawen Chen, and Jian Chen. Efficient Multi-Class Probabilistic SVMs on GPUs. IEEE Transactions on Knowledge and Data Engineering (TKDE), 2018.
  • Zeyi Wen, Bingsheng He, Kotagiri Ramamohanarao, Shengliang Lu, and Jiashuai Shi. Efficient Gradient Boosted Decision Tree Training on GPUs. The 32nd IEEE International Parallel and Distributed Processing Symposium (IPDPS), pages 234-243, 2018.

Related websites

Acknowledgement

  • We acknowledge NVIDIA for their hardware donations.
  • This project is hosted by NUS, collaborating with Prof. Jian Chen (South China University of Technology). Initial work of this project was done when Zeyi Wen worked at The University of Melbourne.
  • This work is partially supported by a MoE AcRF Tier 1 grant (T1 251RES1610) in Singapore.
  • We also thank the authors of LibSVM and OHD-SVM which inspire our algorithmic design.

Selected projects that use ThunderSVM

[1] Scene Graphs for Interpretable Video Anomaly Classification (published in NeurIPS18)

[2] 3D semantic segmentation for high-resolution aerial survey derived point clouds using deep learning. (published in ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, 2018).

[3] Performance Comparison of Machine Learning Models for DDoS Attacks Detection. (published in IEEE International Computer Science and Engineering Conference (ICSEC), 2018).

[4] Kernel machines that adapt to GPUs for effective large batch training. (in arXiv preprint arXiv:1806.06144, 2018).

[5] Sampling Bias in Deep Active Classification: An Empirical Study. (in arXiv preprint arXiv:1909.09389, 2019).

[6] Machine Learning-Based Fast Banknote Serial Number Recognition Using Knowledge Distillation and Bayesian Optimization. (published in Sensors 19.19:4218, 2019).

[7] Classification for Device-free Localization based on Deep Neural Networks. (in Diss. The University of Aizu, 2019).

[8] An accurate and robust approach of device-free localization with convolutional autoencoder. (published in IEEE Internet of Things Journal 6.3:5825-5840, 2019).

[9] Accounting for part pose estimation uncertainties during trajectory generation for part pick-up using mobile manipulators. (published in IEEE International Conference on Robotics and Automation (ICRA), 2019).

[10] Genetic improvement of GPU code. (published in IEEE/ACM International Workshop on Genetic Improvement (GI), 2019). The source code of ThunderSVM is used as a benchmark.

[11] Dynamic Multi-Resolution Data Storage. (published in IEEE/ACM International Symposium on Microarchitecture, 2019). The source code of ThunderSVM is used as a benchmark.

[12] Hyperparameter Estimation in SVM with GPU Acceleration for Prediction of Protein-Protein Interactions. (published in IEEE International Conference on Big Data, 2019).

[13] Texture Selection for Automatic Music Genre Classification. (published in Applied Soft Computing, 2020).

[14] Evolving Switch Architecture toward Accommodating In-Network Intelligence. (published in IEEE Communications Magazine 58.1: 33-39, 2020).

[15] Block-Sparse Coding Based Machine Learning Approach for Dependable Device-Free Localization in IoT Environment. (published in IEEE Internet of Things Journal, 2020).

[16] An adaptive trust boundary protection for IIoT networks using deep-learning feature extraction based semi-supervised model. (published in IEEE Transactions on Industrial Informatics, 2020).

[17] Performance Prediction for Multi-Application Concurrency on GPUs. (published in IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), 2020).

[18] Tensorsvm: accelerating kernel machines with tensor engine. (published in ACM International Conference on Supercomputing (ICS), 2020).

[19] GEVO: GPU Code Optimization Using Evolutionary Computation. (published in ACM Transactions on Architecture and Code Optimization (TACO), 2020).

[20] CRISPRpred (SEQ): a sequence-based method for sgRNA on target activity prediction using traditional machine learning. (published in BMC bioinformatics, 2020).

[21] Prediction of gas concentration using gated recurrent neural networks. (published in IEEE International Conference on Artificial Intelligence Circuits and Systems (AICAS), 2020).

[22] Design powerful predictor for mRNA subcellular location prediction in Homo sapiens. (published in Briefings in Bioinformatics, 2021).

Comments
  • SVC' object has no attribute 'n_binary_model'

    SVC' object has no attribute 'n_binary_model'

    I got error when i want to use ypred=clf.decision_function(xtest).

    2018-07-12 07:40:56 PSTFile "/usr/local/lib/python3.6/site-packages/thundersvm-github_master-py3.6.egg/thundersvmScikit.py", line 290, in decision_function 2018-07-12 07:40:56 PSTdec_func = self._dense_decision_function(X) 2018-07-12 07:40:56 PSTFile "/usr/local/lib/python3.6/site-packages/thundersvm-github_master-py3.6.egg/thundersvmScikit.py", line 301, in _dense_decision_function 2018-07-12 07:40:56 PSTdec_size = X.shape[0] * self.n_binary_model 2018-07-12 07:40:56 PSTAttributeError: 'SVC' object has no attribute 'n_binary_model'

    What's wrong?

  • Unable to pickle ensemble model that includes thundersvm (SVC)

    Unable to pickle ensemble model that includes thundersvm (SVC)

    Hi,

    I was trying to pickle an EnsembleVoteClassifier using mlxtend where one of the classfier included is thundersvm. However I am unable to pickle the EnsembleVoteClassifier using pickle.dump() as long as the thundersvm classifier is included, the following error comes out:

    PicklingError: Can't pickle <class 'thundersvm.thundersvm.c_float_Array_629'>: attribute lookup c_float_Array_629 on thundersvm.thundersvm failed.

    Is there any way that I can save down the ensemble classifier that includes thundersvm?

    Thank you

  • Add support for external Eigen3

    Add support for external Eigen3

    This PR is based on #195. It adds support for an external Eigen3 library. If a recent version of Eigen3 is already installed, it will provide a cmake package configuration file. If this exists for at least Eigen version 3.3, it is used instead of the internal Eigen3.

  • Load model missing attribute

    Load model missing attribute

    I saved the well-trained models, and then load the model again to read its attributes, but those attributes are missing.

    I have checked the thundersvmScikit.py, it seems that attributes including: support_vectors_, n_support_, dual_coef_ , coef_, intercept_ are all NOT saved.

    e.g from thundersvmScikit import * from sklearn.datasets import *

    x,y = load_svmlight_file("../dataset/test_dataset.txt") clf = SVC(verbose=True, gamma=0.5, C=100) clf.fit(x,y) clf.save_to_file('./model')

    clf = SVC() clf.load_from_file('./model') clf.n_support_

    Traceback (most recent call last): AttributeError: 'SVC' object has no attribute 'n_support'_

    P.S the svm(s) in scikit-learn save those parameters, so keeping a consistency would be much appreciated.

  • working set size

    working set size

    Hi , I am trying to understand the way the working_set_size works and its impact on the data transferred to and fro from the GPU ? And I observe that there are two working sets called first_half and last_half ,each of 512 . I would like to understand whats happening as part of the algorithm and whats its effect on the GPU data transfer ? It is equivalent to batch size being operated on ?

  • Segmentation fault(core dumped)? Could you give a example for how to use the source code?

    Segmentation fault(core dumped)? Could you give a example for how to use the source code?

    I use the git clone the source code and under the gpu-svm directory make the code. Then I download the iris data from libsvm site, put it under the directory dataset/. Then according to the run.sh, use the command ./run.sh iris. Then it raise a error ./run.sh line 86 # segmentation fault (core dumped) I hope there is a tutorial for how to using the source code.

  • Load trained model in C++

    Load trained model in C++

    Hello,

    I've trained some models and would like to test it in my c++ code. How to I load my models and perform classification? Since I don't want to call the binary and load the model each time for classification.

    Further, how can I retrieve the weights like LibSVM? I cannot find .sv_coef in the trained model files. LibSVM's example:

    (Link to libsvm FAQ: https://www.csie.ntu.edu.tw/~cjlin/libsvm/faq.html)
    w = model.SVs' * model.sv_coef;
    b = -model.rho;
    
    if model.Label(1) == -1
      w = -w;
      b = -b;
    end
    

    And, will a thunderSVM's trained model generate a recommended threshold value for predict purpose?

    Thank you.

  • ThunderSVM GCC 6 or later

    ThunderSVM GCC 6 or later

    Ubuntu 17.10 cuda 9.1 (installed with .deb)

    Error occurs with or without -j in make:

    -- The C compiler identification is GNU 7.2.0
    -- The CXX compiler identification is GNU 7.2.0
    -- Check for working C compiler: /usr/bin/cc
    -- Check for working C compiler: /usr/bin/cc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: /usr/bin/c++
    -- Check for working CXX compiler: /usr/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    CMake Warning (dev) at /usr/share/cmake-3.9/Modules/FindOpenMP.cmake:200 (if):
      Policy CMP0054 is not set: Only interpret if() arguments as variables or
      keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
      details.  Use the cmake_policy command to set the policy and suppress this
      warning.
    
      Quoted variables like "c" will no longer be dereferenced when the policy is
      set to NEW.  Since the policy is not set the OLD behavior will be used.
    Call Stack (most recent call first):
      /usr/share/cmake-3.9/Modules/FindOpenMP.cmake:324 (_OPENMP_GET_FLAGS)
      CMakeLists.txt:26 (find_package)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    Compile with CUDA
    -- Found Threads: TRUE
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/devon/Code/thundersvm/build
    [  3%] Building NVCC (Device) object src/thundersvm/CMakeFiles/thundersvm.dir/kernel/thundersvm_generated_smo_kernel.cu.o
    In file included from /usr/local/cuda/include/host_config.h:50:0,
                     from /usr/local/cuda/include/cuda_runtime.h:78,
                     from <command-line>:0:
    /usr/local/cuda/include/crt/host_config.h:121:2: error: #error -- unsupported GNU version! gcc versions later than 6 are not supported!
     #error -- unsupported GNU version! gcc versions later than 6 are not supported!
      ^~~~~
    CMake Error at thundersvm_generated_smo_kernel.cu.o.Release.cmake:222 (message):
      Error generating
      /home/devon/Code/thundersvm/build/src/thundersvm/CMakeFiles/thundersvm.dir/kernel/./thundersvm_generated_smo_kernel.cu.o
    
    
    src/thundersvm/CMakeFiles/thundersvm.dir/build.make:70: recipe for target 'src/thundersvm/CMakeFiles/thundersvm.dir/kernel/thundersvm_generated_smo_kernel.cu.o' failed
    make[2]: *** [src/thundersvm/CMakeFiles/thundersvm.dir/kernel/thundersvm_generated_smo_kernel.cu.o] Error 1
    CMakeFiles/Makefile2:126: recipe for target 'src/thundersvm/CMakeFiles/thundersvm.dir/all' failed
    make[1]: *** [src/thundersvm/CMakeFiles/thundersvm.dir/all] Error 2
    Makefile:83: recipe for target 'all' failed
    make: *** [all] Error 2
    
  • Taking too long to train a relatively small model

    Taking too long to train a relatively small model

    I'm trying to train a 156d model with 36k examples. Sklearn does it in 180s. However, thundersvm is already running it for 90 hours.

    Here is my system:

    GTX 780, 4GB log: logfile

    nvcc --version Built on Tue_Jan_10_13:22:03_CST_2017 Cuda compilation tools, release 8.0, V8.0.61

    gcc --version gcc (Ubuntu 4.9.3-13ubuntu2) 4.9.3

    I'm not sure what to try next.

    Thanks!

  • Unable to build on MacOS 10.12.6

    Unable to build on MacOS 10.12.6

    Hello, I would like to use ThunderSVM! However, I'm unable to build under Mac OS 10.12.6 with Xcode 9.2. The OpenMP configuration fails as below.

    The contents of CMakeError.log (also below) suggest it is due to Apple Clang not supporting OpenMP. I see in the git log that you support MacOS....How do you work around this OpenMP issue? Thanks! -Ramy

    ========================================================================

    ❯ mkdir build && cd build && cmake .. && make -j -- The C compiler identification is AppleClang 9.0.0.9000039 -- The CXX compiler identification is AppleClang 9.0.0.9000039 -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - found -- Found Threads: TRUE -- Try OpenMP C flag = [-fopenmp=libomp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed -- Try OpenMP C flag = [ ] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed -- Try OpenMP C flag = [-fopenmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed -- Try OpenMP C flag = [/openmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed -- Try OpenMP C flag = [-Qopenmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed -- Try OpenMP C flag = [-openmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed -- Try OpenMP C flag = [-xopenmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed -- Try OpenMP C flag = [+Oopenmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed -- Try OpenMP C flag = [-qsmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed -- Try OpenMP C flag = [-mp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed -- Try OpenMP CXX flag = [-fopenmp=libomp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed -- Try OpenMP CXX flag = [ ] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed -- Try OpenMP CXX flag = [-fopenmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed -- Try OpenMP CXX flag = [/openmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed -- Try OpenMP CXX flag = [-Qopenmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed -- Try OpenMP CXX flag = [-openmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed -- Try OpenMP CXX flag = [-xopenmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed -- Try OpenMP CXX flag = [+Oopenmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed -- Try OpenMP CXX flag = [-qsmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed -- Try OpenMP CXX flag = [-mp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Failed CMake Error at /usr/local/Cellar/cmake/3.8.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message): Could NOT find OpenMP (missing: OpenMP_C_FLAGS OpenMP_CXX_FLAGS) Call Stack (most recent call first): /usr/local/Cellar/cmake/3.8.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE) /usr/local/Cellar/cmake/3.8.2/share/cmake/Modules/FindOpenMP.cmake:316 (find_package_handle_standard_args) CMakeLists.txt:16 (find_package)

    ======================================================================== Contents of Error log below

    ========================================================================

    Run Build Command:"/usr/bin/make" "cmTC_6c95c/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_6c95c.dir/build.make CMakeFiles/cmTC_6c95c.dir/build Building C object CMakeFiles/cmTC_6c95c.dir/src.c.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DOpenMP_FLAG_DETECTED -fopenmp=libomp -o CMakeFiles/cmTC_6c95c.dir/src.c.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.c clang: error: unsupported argument 'libomp' to option 'fopenmp=' make[1]: *** [CMakeFiles/cmTC_6c95c.dir/src.c.o] Error 1 make: *** [cmTC_6c95c/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

    Performing C SOURCE FILE Test OpenMP_FLAG_DETECTED failed with the following output: Change Dir: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_3c8dd/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_3c8dd.dir/build.make CMakeFiles/cmTC_3c8dd.dir/build Building C object CMakeFiles/cmTC_3c8dd.dir/src.c.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DOpenMP_FLAG_DETECTED -o CMakeFiles/cmTC_3c8dd.dir/src.c.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.c:2:10: fatal error: 'omp.h' file not found #include <omp.h> ^~~~~~~ 1 error generated. make[1]: *** [CMakeFiles/cmTC_3c8dd.dir/src.c.o] Error 1 make: *** [cmTC_3c8dd/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

    Performing C SOURCE FILE Test OpenMP_FLAG_DETECTED failed with the following output: Change Dir: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_9977f/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_9977f.dir/build.make CMakeFiles/cmTC_9977f.dir/build Building C object CMakeFiles/cmTC_9977f.dir/src.c.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DOpenMP_FLAG_DETECTED -fopenmp -o CMakeFiles/cmTC_9977f.dir/src.c.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.c clang: error: unsupported option '-fopenmp' make[1]: *** [CMakeFiles/cmTC_9977f.dir/src.c.o] Error 1 make: *** [cmTC_9977f/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

    Performing C SOURCE FILE Test OpenMP_FLAG_DETECTED failed with the following output: Change Dir: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_8402c/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_8402c.dir/build.make CMakeFiles/cmTC_8402c.dir/build Building C object CMakeFiles/cmTC_8402c.dir/src.c.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DOpenMP_FLAG_DETECTED /openmp -o CMakeFiles/cmTC_8402c.dir/src.c.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.c clang: error: no such file or directory: '/openmp' make[1]: *** [CMakeFiles/cmTC_8402c.dir/src.c.o] Error 1 make: *** [cmTC_8402c/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

    Performing C SOURCE FILE Test OpenMP_FLAG_DETECTED failed with the following output: Change Dir: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_02058/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_02058.dir/build.make CMakeFiles/cmTC_02058.dir/build Building C object CMakeFiles/cmTC_02058.dir/src.c.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DOpenMP_FLAG_DETECTED -Qopenmp -o CMakeFiles/cmTC_02058.dir/src.c.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.c clang: error: unknown argument: '-Qopenmp' make[1]: *** [CMakeFiles/cmTC_02058.dir/src.c.o] Error 1 make: *** [cmTC_02058/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

    Performing C SOURCE FILE Test OpenMP_FLAG_DETECTED failed with the following output: Change Dir: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_42a97/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_42a97.dir/build.make CMakeFiles/cmTC_42a97.dir/build Building C object CMakeFiles/cmTC_42a97.dir/src.c.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DOpenMP_FLAG_DETECTED -openmp -o CMakeFiles/cmTC_42a97.dir/src.c.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.c:2:10: fatal error: 'omp.h' file not found #include <omp.h> ^~~~~~~ 1 error generated. make[1]: *** [CMakeFiles/cmTC_42a97.dir/src.c.o] Error 1 make: *** [cmTC_42a97/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

    Performing C SOURCE FILE Test OpenMP_FLAG_DETECTED failed with the following output: Change Dir: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_40796/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_40796.dir/build.make CMakeFiles/cmTC_40796.dir/build Building C object CMakeFiles/cmTC_40796.dir/src.c.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DOpenMP_FLAG_DETECTED -xopenmp -o CMakeFiles/cmTC_40796.dir/src.c.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.c clang: error: language not recognized: 'openmp' clang: warning: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.c: 'linker' input unused [-Wunused-command-line-argument] make[1]: *** [CMakeFiles/cmTC_40796.dir/src.c.o] Error 1 make: *** [cmTC_40796/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

    Performing C SOURCE FILE Test OpenMP_FLAG_DETECTED failed with the following output: Change Dir: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_0f4a9/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_0f4a9.dir/build.make CMakeFiles/cmTC_0f4a9.dir/build Building C object CMakeFiles/cmTC_0f4a9.dir/src.c.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DOpenMP_FLAG_DETECTED +Oopenmp -o CMakeFiles/cmTC_0f4a9.dir/src.c.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.c clang: error: no such file or directory: '+Oopenmp' make[1]: *** [CMakeFiles/cmTC_0f4a9.dir/src.c.o] Error 1 make: *** [cmTC_0f4a9/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

    Performing C SOURCE FILE Test OpenMP_FLAG_DETECTED failed with the following output: Change Dir: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_1cdb0/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_1cdb0.dir/build.make CMakeFiles/cmTC_1cdb0.dir/build Building C object CMakeFiles/cmTC_1cdb0.dir/src.c.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DOpenMP_FLAG_DETECTED -qsmp -o CMakeFiles/cmTC_1cdb0.dir/src.c.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.c clang: error: unknown argument: '-qsmp' make[1]: *** [CMakeFiles/cmTC_1cdb0.dir/src.c.o] Error 1 make: *** [cmTC_1cdb0/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

    Performing C SOURCE FILE Test OpenMP_FLAG_DETECTED failed with the following output: Change Dir: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_973e0/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_973e0.dir/build.make CMakeFiles/cmTC_973e0.dir/build Building C object CMakeFiles/cmTC_973e0.dir/src.c.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DOpenMP_FLAG_DETECTED -mp -o CMakeFiles/cmTC_973e0.dir/src.c.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.c clang: error: unknown argument: '-mp' make[1]: *** [CMakeFiles/cmTC_973e0.dir/src.c.o] Error 1 make: *** [cmTC_973e0/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

    Performing C++ SOURCE FILE Test OpenMP_FLAG_DETECTED failed with the following output: Change Dir: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_a9fef/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_a9fef.dir/build.make CMakeFiles/cmTC_a9fef.dir/build Building CXX object CMakeFiles/cmTC_a9fef.dir/src.cxx.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DOpenMP_FLAG_DETECTED -fopenmp=libomp -o CMakeFiles/cmTC_a9fef.dir/src.cxx.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.cxx clang: error: unsupported argument 'libomp' to option 'fopenmp=' make[1]: *** [CMakeFiles/cmTC_a9fef.dir/src.cxx.o] Error 1 make: *** [cmTC_a9fef/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

    Performing C++ SOURCE FILE Test OpenMP_FLAG_DETECTED failed with the following output: Change Dir: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_8ca43/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_8ca43.dir/build.make CMakeFiles/cmTC_8ca43.dir/build Building CXX object CMakeFiles/cmTC_8ca43.dir/src.cxx.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DOpenMP_FLAG_DETECTED -o CMakeFiles/cmTC_8ca43.dir/src.cxx.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.cxx /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.cxx:2:10: fatal error: 'omp.h' file not found #include <omp.h> ^~~~~~~ 1 error generated. make[1]: *** [CMakeFiles/cmTC_8ca43.dir/src.cxx.o] Error 1 make: *** [cmTC_8ca43/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

    Performing C++ SOURCE FILE Test OpenMP_FLAG_DETECTED failed with the following output: Change Dir: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_4b958/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_4b958.dir/build.make CMakeFiles/cmTC_4b958.dir/build Building CXX object CMakeFiles/cmTC_4b958.dir/src.cxx.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DOpenMP_FLAG_DETECTED -fopenmp -o CMakeFiles/cmTC_4b958.dir/src.cxx.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.cxx clang: error: unsupported option '-fopenmp' make[1]: *** [CMakeFiles/cmTC_4b958.dir/src.cxx.o] Error 1 make: *** [cmTC_4b958/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

    Performing C++ SOURCE FILE Test OpenMP_FLAG_DETECTED failed with the following output: Change Dir: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_f1381/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_f1381.dir/build.make CMakeFiles/cmTC_f1381.dir/build Building CXX object CMakeFiles/cmTC_f1381.dir/src.cxx.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DOpenMP_FLAG_DETECTED /openmp -o CMakeFiles/cmTC_f1381.dir/src.cxx.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.cxx clang: error: no such file or directory: '/openmp' make[1]: *** [CMakeFiles/cmTC_f1381.dir/src.cxx.o] Error 1 make: *** [cmTC_f1381/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

    Performing C++ SOURCE FILE Test OpenMP_FLAG_DETECTED failed with the following output: Change Dir: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_f1059/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_f1059.dir/build.make CMakeFiles/cmTC_f1059.dir/build Building CXX object CMakeFiles/cmTC_f1059.dir/src.cxx.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DOpenMP_FLAG_DETECTED -Qopenmp -o CMakeFiles/cmTC_f1059.dir/src.cxx.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.cxx clang: error: unknown argument: '-Qopenmp' make[1]: *** [CMakeFiles/cmTC_f1059.dir/src.cxx.o] Error 1 make: *** [cmTC_f1059/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

    Performing C++ SOURCE FILE Test OpenMP_FLAG_DETECTED failed with the following output: Change Dir: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_797d3/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_797d3.dir/build.make CMakeFiles/cmTC_797d3.dir/build Building CXX object CMakeFiles/cmTC_797d3.dir/src.cxx.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DOpenMP_FLAG_DETECTED -openmp -o CMakeFiles/cmTC_797d3.dir/src.cxx.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.cxx /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.cxx:2:10: fatal error: 'omp.h' file not found #include <omp.h> ^~~~~~~ 1 error generated. make[1]: *** [CMakeFiles/cmTC_797d3.dir/src.cxx.o] Error 1 make: *** [cmTC_797d3/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

    Performing C++ SOURCE FILE Test OpenMP_FLAG_DETECTED failed with the following output: Change Dir: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_eeec0/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_eeec0.dir/build.make CMakeFiles/cmTC_eeec0.dir/build Building CXX object CMakeFiles/cmTC_eeec0.dir/src.cxx.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DOpenMP_FLAG_DETECTED -xopenmp -o CMakeFiles/cmTC_eeec0.dir/src.cxx.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.cxx clang: error: language not recognized: 'openmp' clang: warning: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.cxx: 'linker' input unused [-Wunused-command-line-argument] make[1]: *** [CMakeFiles/cmTC_eeec0.dir/src.cxx.o] Error 1 make: *** [cmTC_eeec0/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

    Performing C++ SOURCE FILE Test OpenMP_FLAG_DETECTED failed with the following output: Change Dir: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_1b278/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_1b278.dir/build.make CMakeFiles/cmTC_1b278.dir/build Building CXX object CMakeFiles/cmTC_1b278.dir/src.cxx.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DOpenMP_FLAG_DETECTED +Oopenmp -o CMakeFiles/cmTC_1b278.dir/src.cxx.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.cxx clang: error: no such file or directory: '+Oopenmp' make[1]: *** [CMakeFiles/cmTC_1b278.dir/src.cxx.o] Error 1 make: *** [cmTC_1b278/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

    Performing C++ SOURCE FILE Test OpenMP_FLAG_DETECTED failed with the following output: Change Dir: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_e6b58/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_e6b58.dir/build.make CMakeFiles/cmTC_e6b58.dir/build Building CXX object CMakeFiles/cmTC_e6b58.dir/src.cxx.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DOpenMP_FLAG_DETECTED -qsmp -o CMakeFiles/cmTC_e6b58.dir/src.cxx.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.cxx clang: error: unknown argument: '-qsmp' make[1]: *** [CMakeFiles/cmTC_e6b58.dir/src.cxx.o] Error 1 make: *** [cmTC_e6b58/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

    Performing C++ SOURCE FILE Test OpenMP_FLAG_DETECTED failed with the following output: Change Dir: /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_f04ef/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_f04ef.dir/build.make CMakeFiles/cmTC_f04ef.dir/build Building CXX object CMakeFiles/cmTC_f04ef.dir/src.cxx.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DOpenMP_FLAG_DETECTED -mp -o CMakeFiles/cmTC_f04ef.dir/src.cxx.o -c /Users/sadekrs1/work/virga/training/thundersvm/build/CMakeFiles/CMakeTmp/src.cxx clang: error: unknown argument: '-mp' make[1]: *** [CMakeFiles/cmTC_f04ef.dir/src.cxx.o] Error 1 make: *** [cmTC_f04ef/fast] Error 2

    Source file was:

    #include <omp.h> int main() { #ifdef _OPENMP return 0; #else breaks_on_purpose #endif }

  • error: identifier

    error: identifier "cusparseSpMatDescr_t" is undefined

    Dear authors of thundersvm, I have build errors during make, details are as follows. Could you help me out? Thank you!

    -- The C compiler identification is GNU 4.8.5
    -- The CXX compiler identification is GNU 4.8.5
    -- Check for working C compiler: /usr/bin/cc
    -- Check for working C compiler: /usr/bin/cc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: /usr/bin/c++
    -- Check for working CXX compiler: /usr/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Looking for pthread.h
    -- Looking for pthread.h - found
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
    -- Looking for pthread_create in pthreads
    -- Looking for pthread_create in pthreads - not found
    -- Looking for pthread_create in pthread
    -- Looking for pthread_create in pthread - found
    -- Found Threads: TRUE  
    -- Found OpenMP_C: -fopenmp (found version "3.1") 
    -- Found OpenMP_CXX: -fopenmp (found version "3.1") 
    -- Found OpenMP: TRUE (found version "3.1")  
    Compile with CUDA
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/yuanhang/Projects/thundersvm/build
    
    [  3%] Building NVCC (Device) object src/thundersvm/CMakeFiles/thundersvm.dir/kernel/thundersvm_generated_smo_kernel.cu.o
    [  7%] Building NVCC (Device) object src/thundersvm/CMakeFiles/thundersvm.dir/kernel/thundersvm_generated_kernelmatrix_kernel.cu.o
    /home/yuanhang/Projects/thundersvm/src/thundersvm/kernel/kernelmatrix_kernel.cu(142): error: identifier "cusparseSpMatDescr_t" is undefined
    
    /home/yuanhang/Projects/thundersvm/src/thundersvm/kernel/kernelmatrix_kernel.cu(148): error: identifier "CUSPARSE_INDEX_32I" is undefined
    
    /home/yuanhang/Projects/thundersvm/src/thundersvm/kernel/kernelmatrix_kernel.cu(146): error: identifier "cusparseCreateCsr" is undefined
    
    /home/yuanhang/Projects/thundersvm/src/thundersvm/kernel/kernelmatrix_kernel.cu(151): error: identifier "cusparseDnMatDescr_t" is undefined
    
    /home/yuanhang/Projects/thundersvm/src/thundersvm/kernel/kernelmatrix_kernel.cu(155): error: identifier "CUSPARSE_ORDER_COL" is undefined
    
    /home/yuanhang/Projects/thundersvm/src/thundersvm/kernel/kernelmatrix_kernel.cu(154): error: identifier "cusparseCreateDnMat" is undefined
    
    /home/yuanhang/Projects/thundersvm/src/thundersvm/kernel/kernelmatrix_kernel.cu(157): error: identifier "cusparseDnMatDescr_t" is undefined
    
    /home/yuanhang/Projects/thundersvm/src/thundersvm/kernel/kernelmatrix_kernel.cu(164): error: identifier "CUSPARSE_MM_ALG_DEFAULT" is undefined
    
    /home/yuanhang/Projects/thundersvm/src/thundersvm/kernel/kernelmatrix_kernel.cu(163): error: identifier "cusparseSpMM_bufferSize" is undefined
    
    /home/yuanhang/Projects/thundersvm/src/thundersvm/kernel/kernelmatrix_kernel.cu(171): error: identifier "cusparseSpMM" is undefined
    
    /home/yuanhang/Projects/thundersvm/src/thundersvm/kernel/kernelmatrix_kernel.cu(177): error: identifier "cusparseDestroySpMat" is undefined
    
    /home/yuanhang/Projects/thundersvm/src/thundersvm/kernel/kernelmatrix_kernel.cu(179): error: identifier "cusparseDestroyDnMat" is undefined
    
    12 errors detected in the compilation of "/tmp/tmpxft_0000c6b8_00000000-6_kernelmatrix_kernel.cpp1.ii".
    CMake Error at thundersvm_generated_kernelmatrix_kernel.cu.o.Release.cmake:279 (message):
      Error generating file
      /home/yuanhang/Projects/thundersvm/build/src/thundersvm/CMakeFiles/thundersvm.dir/kernel/./thundersvm_generated_kernelmatrix_kernel.cu.o
    
    
    make[2]: *** [src/thundersvm/CMakeFiles/thundersvm.dir/kernel/thundersvm_generated_kernelmatrix_kernel.cu.o] Error 1
    make[1]: *** [src/thundersvm/CMakeFiles/thundersvm.dir/all] Error 2
    make: *** [all] Error 2
    
  • failed on 1st step: cudaErrorInvalidDevice: invalid device ordinal

    failed on 1st step: cudaErrorInvalidDevice: invalid device ordinal

    Hi, I'm having some trouble. I'm running deep learning experiments and I want to use thundersvm instead of traditional svm to accelerate the experiments, but the following error occurs while using it. My graphics card is an RTX3090 with 24GB. The dataset itself is not very large, X is only [188,40]. I'm not sure where the problem is, can you please help answer it?

  • trouble installing

    trouble installing

    i am trying to install thundersvm using pip in linux system with cuda 10.2, it gives me this error while trying to use. /lib/python3.7/site-packages/thundersvm/libthundersvm.so: cannot open shared object file: No such file or directory

    however, i do have that file in that location, can you please help me with this? __init__.py libthundersvm.so __pycache__ thundersvm.py

    thanks!

  • Add support to include ThunderSVM from another cmake project

    Add support to include ThunderSVM from another cmake project

    Hi,

    I wanted to use ThunderSVM as part of a different cmake project. This currently fails, as current master relies on

    • CMAKE_BINARY_DIR
    • PROJECT_SOURCE_DIR
    • CMAKE_BINARY_DIR

    I changed the usage of these variables to use the CURRENT versions with relative paths from there. With this changes, everything works as expected.

  • pip install thundersvm fail

    pip install thundersvm fail

    I'm trying to use thundersvm python version in Xavier.

    Building with C++ was successful, but

    pip install thundersvm

    is not available.

    Can't use thundersvm(python) in Xavier?

  • fail to build thundersvm(GPU)

    fail to build thundersvm(GPU)

    Determining if the pthread_create exist failed with the following output: Change Dir: /home/user-njf/bjy/V5_winter_wheat_extract/thundersvm-master/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_0f534/fast" /usr/bin/make -f CMakeFiles/cmTC_0f534.dir/build.make CMakeFiles/cmTC_0f534.dir/build make[1]: Entering directory '/home/user-njf/bjy/V5_winter_wheat_extract/thundersvm-master/build/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_0f534.dir/CheckSymbolExists.c.o /usr/bin/cc -o CMakeFiles/cmTC_0f534.dir/CheckSymbolExists.c.o -c /home/user-njf/bjy/V5_winter_wheat_extract/thundersvm-master/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_0f534 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0f534.dir/link.txt --verbose=1 /usr/bin/cc CMakeFiles/cmTC_0f534.dir/CheckSymbolExists.c.o -o cmTC_0f534 CMakeFiles/cmTC_0f534.dir/CheckSymbolExists.c.o: In function main': CheckSymbolExists.c:(.text+0x16): undefined reference topthread_create' collect2: error: ld returned 1 exit status CMakeFiles/cmTC_0f534.dir/build.make:97: recipe for target 'cmTC_0f534' failed make[1]: *** [cmTC_0f534] Error 1 make[1]: Leaving directory '/home/user-njf/bjy/V5_winter_wheat_extract/thundersvm-master/build/CMakeFiles/CMakeTmp' Makefile:126: recipe for target 'cmTC_0f534/fast' failed make: *** [cmTC_0f534/fast] Error 2

    File /home/user-njf/bjy/V5_winter_wheat_extract/thundersvm-master/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include <pthread.h>

    int main(int argc, char** argv) { (void)argv; #ifndef pthread_create return ((int*)(&pthread_create))[argc]; #else (void)argc; return 0; #endif }

    Determining if the function pthread_create exists in the pthreads failed with the following output: Change Dir: /home/user-njf/bjy/V5_winter_wheat_extract/thundersvm-master/build/CMakeFiles/CMakeTmp

    Run Build Command:"/usr/bin/make" "cmTC_3385b/fast" /usr/bin/make -f CMakeFiles/cmTC_3385b.dir/build.make CMakeFiles/cmTC_3385b.dir/build make[1]: Entering directory '/home/user-njf/bjy/V5_winter_wheat_extract/thundersvm-master/build/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_3385b.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_3385b.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.5/Modules/CheckFunctionExists.c Linking C executable cmTC_3385b /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3385b.dir/link.txt --verbose=1 /usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_3385b.dir/CheckFunctionExists.c.o -o cmTC_3385b -lpthreads /usr/bin/ld: cannot find -lpthreads collect2: error: ld returned 1 exit status CMakeFiles/cmTC_3385b.dir/build.make:97: recipe for target 'cmTC_3385b' failed make[1]: *** [cmTC_3385b] Error 1 make[1]: Leaving directory '/home/user-njf/bjy/V5_winter_wheat_extract/thundersvm-master/build/CMakeFiles/CMakeTmp' Makefile:126: recipe for target 'cmTC_3385b/fast' failed make: *** [cmTC_3385b/fast] Error 2

Face recognition system using MTCNN, FACENET, SVM and FAST API to track participants of Big Brother Brasil in real time.
Face recognition system using MTCNN, FACENET, SVM and FAST API to track participants of Big Brother Brasil in real time.

BBB Face Recognizer Face recognition system using MTCNN, FACENET, SVM and FAST API to track participants of Big Brother Brasil in real time. Instalati

Jun 27, 2022
ThunderGBM: Fast GBDTs and Random Forests on GPUs
ThunderGBM: Fast GBDTs and Random Forests on GPUs

Documentations | Installation | Parameters | Python (scikit-learn) interface What's new? ThunderGBM won 2019 Best Paper Award from IEEE Transactions o

Jun 13, 2022
Patient-Survival - Using Python, I developed a Machine Learning model using classification techniques such as Random Forest and SVM classifiers to predict a patient's survival status that have undergone breast cancer surgery.

Patient-Survival - Using Python, I developed a Machine Learning model using classification techniques such as Random Forest and SVM classifiers to predict a patient's survival status that have undergone breast cancer surgery.

Dec 28, 2021
Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. It can use GPUs and perform efficient symbolic differentiation.

============================================================================================================ `MILA will stop developing Theano <https:

Jun 29, 2022
Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. It can use GPUs and perform efficient symbolic differentiation.

============================================================================================================ `MILA will stop developing Theano <https:

Jun 29, 2022
Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. It can use GPUs and perform efficient symbolic differentiation.

============================================================================================================ `MILA will stop developing Theano <https:

Feb 12, 2021
Build and run Docker containers leveraging NVIDIA GPUs
Build and run Docker containers leveraging NVIDIA GPUs

NVIDIA Container Toolkit Introduction The NVIDIA Container Toolkit allows users to build and run GPU accelerated Docker containers. The toolkit includ

Jul 2, 2022
🔮 Execution time predictions for deep neural network training iterations across different GPUs.

Habitat: A Runtime-Based Computational Performance Predictor for Deep Neural Network Training Habitat is a tool that predicts a deep neural network's

Jun 29, 2022
BERT model training impelmentation using 1024 A100 GPUs for MLPerf Training v1.1

Pre-trained checkpoint and bert config json file Location of checkpoint and bert config json file This MLCommons members Google Drive location contain

Apr 27, 2022
Implementation for the paper 'YOLO-ReT: Towards High Accuracy Real-time Object Detection on Edge GPUs'

YOLO-ReT This is the original implementation of the paper: YOLO-ReT: Towards High Accuracy Real-time Object Detection on Edge GPUs. Prakhar Ganesh, Ya

Jun 14, 2022
Lunar is a neural network aimbot that uses real-time object detection accelerated with CUDA on Nvidia GPUs.
Lunar is a neural network aimbot that uses real-time object detection accelerated with CUDA on Nvidia GPUs.

Lunar Lunar is a neural network aimbot that uses real-time object detection accelerated with CUDA on Nvidia GPUs. About Lunar can be modified to work

Jun 29, 2022
Fast image augmentation library and easy to use wrapper around other libraries. Documentation: https://albumentations.ai/docs/ Paper about library: https://www.mdpi.com/2078-2489/11/2/125
Fast image augmentation library and easy to use wrapper around other libraries. Documentation:  https://albumentations.ai/docs/ Paper about library: https://www.mdpi.com/2078-2489/11/2/125

Albumentations Albumentations is a Python library for image augmentation. Image augmentation is used in deep learning and computer vision tasks to inc

Jul 4, 2022
Implementation of fast algorithms for Maximum Spanning Tree (MST) parsing that includes fast ArcMax+Reweighting+Tarjan algorithm for single-root dependency parsing.

Fast MST Algorithm Implementation of fast algorithms for (Maximum Spanning Tree) MST parsing that includes fast ArcMax+Reweighting+Tarjan algorithm fo

Feb 26, 2022
FAST-RIR: FAST NEURAL DIFFUSE ROOM IMPULSE RESPONSE GENERATOR

This is the official implementation of our neural-network-based fast diffuse room impulse response generator (FAST-RIR) for generating room impulse responses (RIRs) for a given acoustic environment.

Jun 25, 2022
Super-Fast-Adversarial-Training - A PyTorch Implementation code for developing super fast adversarial training

Super-Fast-Adversarial-Training This is a PyTorch Implementation code for develo

Jun 29, 2022
Fit Fast, Explain Fast
Fit Fast, Explain Fast

FastExplain Fit Fast, Explain Fast Installing pip install fast-explain About FastExplain FastExplain provides an out-of-the-box tool for analysts to

May 5, 2022
Python wrappers to the C++ library SymEngine, a fast C++ symbolic manipulation library.

SymEngine Python Wrappers Python wrappers to the C++ library SymEngine, a fast C++ symbolic manipulation library. Installation Pip See License section

May 3, 2022
A fast, scalable, high performance Gradient Boosting on Decision Trees library, used for ranking, classification, regression and other machine learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU.
A fast, scalable, high performance Gradient Boosting on Decision Trees library, used for ranking, classification, regression and other machine learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU.

Website | Documentation | Tutorials | Installation | Release Notes CatBoost is a machine learning method based on gradient boosting over decision tree

Jun 28, 2022