ThunderSVM: A Fast SVM Library on GPUs and CPUs

Overview

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?

    opened by pardedetalenta 18
  • 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

    call for contribution 
    opened by tigertimwu 12
  • 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.

    opened by emmenlau 9
  • 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.

    opened by rowedenny 9
  • 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 ?

    question 
    opened by naveenmiriyalu 9
  • 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.

    bug 
    opened by pranerd 9
  • 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.

    opened by WeiChihChern 8
  • 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
    
    opened by rdevon 8
  • 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!

    opened by julianofoleiss 8
  • 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 }

    opened by rsadek 8
  • 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
    
    opened by ryh95 7
  • 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?

    opened by sktsherlock 0
  • 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!

    opened by pritamqu 0
  • 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.

    opened by sbreuss 0
  • 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?

    opened by jsun94 0
  • 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

    opened by whiteabcdef 0
Owner
Xtra Computing Group
Xtra Computing Group
Python package for stacking (machine learning technique)

vecstack Python package for stacking (stacked generalization) featuring lightweight functional API and fully compatible scikit-learn API Convenient wa

Igor Ivanov 671 Dec 25, 2022
Used Logistic Regression, Random Forest, and XGBoost to predict the outcome of Search & Destroy games from the Call of Duty World League for the 2018 and 2019 seasons.

Call of Duty World League: Search & Destroy Outcome Predictions Growing up as an avid Call of Duty player, I was always curious about what factors led

Brett Vogelsang 2 Jan 18, 2022
This is the code repository for LRM Stochastic watershed model.

LRM-Squannacook Input data for generating stochastic streamflows are observed and simulated timeseries of streamflow. their format needs to be CSV wit

1 Feb 14, 2022
Probabilistic time series modeling in Python

GluonTS - Probabilistic Time Series Modeling in Python GluonTS is a Python toolkit for probabilistic time series modeling, built around Apache MXNet (

Amazon Web Services - Labs 3.3k Jan 03, 2023
Python module for machine learning time series:

seglearn Seglearn is a python package for machine learning time series or sequences. It provides an integrated pipeline for segmentation, feature extr

David Burns 536 Dec 29, 2022
A modular active learning framework for Python

Modular Active Learning framework for Python3 Page contents Introduction Active learning from bird's-eye view modAL in action From zero to one in a fe

modAL 1.9k Dec 31, 2022
A series of Jupyter notebooks that walk you through the fundamentals of Machine Learning and Deep Learning in Python using Scikit-Learn, Keras and TensorFlow 2.

Machine Learning Notebooks, 3rd edition This project aims at teaching you the fundamentals of Machine Learning in python. It contains the example code

Aurélien Geron 1.6k Jan 05, 2023
Compare MLOps Platforms. Breakdowns of SageMaker, VertexAI, AzureML, Dataiku, Databricks, h2o, kubeflow, mlflow...

Compare MLOps Platforms. Breakdowns of SageMaker, VertexAI, AzureML, Dataiku, Databricks, h2o, kubeflow, mlflow...

Thoughtworks 318 Jan 02, 2023
A repository for collating all the resources such as articles, blogs, papers, and books related to Bayesian Statistics.

A repository for collating all the resources such as articles, blogs, papers, and books related to Bayesian Statistics.

Aayush Malik 80 Dec 12, 2022
Credit Card Fraud Detection, used the credit card fraud dataset from Kaggle

Credit Card Fraud Detection, used the credit card fraud dataset from Kaggle

Sean Zahller 1 Feb 04, 2022
A toolkit for geo ML data processing and model evaluation (fork of solaris)

An open source ML toolkit for overhead imagery. This is a beta version of lunular which may continue to develop. Please report any bugs through issues

Ryan Avery 4 Nov 04, 2021
Python factor analysis library (PCA, CA, MCA, MFA, FAMD)

Prince is a library for doing factor analysis. This includes a variety of methods including principal component analysis (PCA) and correspondence anal

Max Halford 915 Dec 31, 2022
A toolkit for making real world machine learning and data analysis applications in C++

dlib C++ library Dlib is a modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real worl

Davis E. King 11.6k Jan 02, 2023
machine learning model deployment project of Iris classification model in a minimal UI using flask web framework and deployed it in Azure cloud using Azure app service

This is a machine learning model deployment project of Iris classification model in a minimal UI using flask web framework and deployed it in Azure cloud using Azure app service. We initially made th

Krishna Priyatham Potluri 73 Dec 01, 2022
Azure Cloud Advocates at Microsoft are pleased to offer a 12-week, 24-lesson curriculum all about Machine Learning

Azure Cloud Advocates at Microsoft are pleased to offer a 12-week, 24-lesson curriculum all about Machine Learning

Microsoft 43.4k Jan 04, 2023
K-means clustering is a method used for clustering analysis, especially in data mining and statistics.

K Means Algorithm What is K Means This algorithm is an iterative algorithm that partitions the dataset according to their features into K number of pr

1 Nov 01, 2021
Spark development environment for k8s

Local Spark Dev Env with Docker Development environment for k8s. Using the spark-operator image to ensure it will be the same environment. Start conta

Otacilio Filho 18 Jan 04, 2022
Python package for machine learning for healthcare using a OMOP common data model

This library was developed in order to facilitate rapid prototyping in Python of predictive machine-learning models using longitudinal medical data from an OMOP CDM-standard database.

Sontag Lab 75 Jan 03, 2023
Book Item Based Collaborative Filtering

Book-Item-Based-Collaborative-Filtering Collaborative filtering methods are used

Şebnem 3 Jan 06, 2022
LinearRegression2 Tvads and CarSales

LinearRegression2_Tvads_and_CarSales This project infers the insight that how the TV ads for cars and car Sales are being linked with each other. It i

Ashish Kumar Yadav 1 Dec 29, 2021