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
PyTorch implementation of our ICCV paper DeFRCN: Decoupled Faster R-CNN for Few-Shot Object Detection.

Introduction This repo contains the official PyTorch implementation of our ICCV paper DeFRCN: Decoupled Faster R-CNN for Few-Shot Object Detection. Up

133 Dec 29, 2022
Asynchronous Advantage Actor-Critic in PyTorch

Asynchronous Advantage Actor-Critic in PyTorch This is PyTorch implementation of A3C as described in Asynchronous Methods for Deep Reinforcement Learn

Reiji Hatsugai 38 Dec 12, 2022
ROS support for Velodyne 3D LIDARs

Overview Velodyne1 is a collection of ROS2 packages supporting Velodyne high definition 3D LIDARs3. Warning: The master branch normally contains code

ROS device drivers 543 Dec 30, 2022
PyTorch implementation of our paper How robust are discriminatively trained zero-shot learning models?

How robust are discriminatively trained zero-shot learning models? This repository contains the PyTorch implementation of our paper How robust are dis

Mehmet Kerim Yucel 5 Feb 04, 2022
MLOps will help you to understand how to build a Continuous Integration and Continuous Delivery pipeline for an ML/AI project.

page_type languages products description sample python azure azure-machine-learning-service azure-devops Code which demonstrates how to set up and ope

1 Nov 01, 2021
Housing Price Prediction

This project aim was to predict the price of houses in the Boston area during the great financial crisis through regression, as well as classify houses into different quality categories according to

Florian Klement 1 Jan 27, 2022
A small tool to joint picture including gif

README 做设计的时候遇到拼接长图的情况,但是发现没有什么好用的能拼接gif的工具。 于是自己写了个gif拼接小工具。 可以自动拼接gif、png和jpg等常见格式。 效果 从上至下 从下至上 从左至右 从右至左 使用 克隆仓库 git clone https://github.com/Dels

3 Dec 15, 2021
A framework for multi-step probabilistic time-series/demand forecasting models

JointDemandForecasting.py A framework for multi-step probabilistic time-series/demand forecasting models File stucture JointDemandForecasting contains

Stanford Intelligent Systems Laboratory 3 Sep 28, 2022
This code finds bounding box of a single human mouth.

This code finds bounding box of a single human mouth. In comparison to other face segmentation methods, it is relatively insusceptible to open mouth conditions, e.g., yawning, surgical robots, etc. T

iThermAI 4 Nov 27, 2022
TinyML Cookbook, published by Packt

TinyML Cookbook This is the code repository for TinyML Cookbook, published by Packt. Author: Gian Marco Iodice Publisher: Packt About the book This bo

Packt 93 Dec 29, 2022
The implementation of the paper "HIST: A Graph-based Framework for Stock Trend Forecasting via Mining Concept-Oriented Shared Information".

The HIST framework for stock trend forecasting The implementation of the paper "HIST: A Graph-based Framework for Stock Trend Forecasting via Mining C

Wentao Xu 110 Dec 27, 2022
Implementation of Convolutional enhanced image Transformer

CeiT : Convolutional enhanced image Transformer This is an unofficial PyTorch implementation of Incorporating Convolution Designs into Visual Transfor

Rishikesh (ऋषिकेश) 82 Dec 13, 2022
FinGAT: A Financial Graph Attention Networkto Recommend Top-K Profitable Stocks

FinGAT: A Financial Graph Attention Networkto Recommend Top-K Profitable Stocks This is our implementation for the paper: FinGAT: A Financial Graph At

Yu-Che Tsai 64 Dec 13, 2022
This is an unofficial PyTorch implementation of Meta Pseudo Labels

This is an unofficial PyTorch implementation of Meta Pseudo Labels. The official Tensorflow implementation is here.

Jungdae Kim 320 Jan 08, 2023
A PyTorch implementation of the WaveGlow: A Flow-based Generative Network for Speech Synthesis

WaveGlow A PyTorch implementation of the WaveGlow: A Flow-based Generative Network for Speech Synthesis Quick Start: Install requirements: pip install

Yuchao Zhang 204 Jul 14, 2022
GPT, but made only out of gMLPs

GPT - gMLP This repository will attempt to crack long context autoregressive language modeling (GPT) using variations of gMLPs. Specifically, it will

Phil Wang 80 Dec 01, 2022
🐦 Quickly annotate data from the comfort of your Jupyter notebook

🐦 pigeon - Quickly annotate data on Jupyter Pigeon is a simple widget that lets you quickly annotate a dataset of unlabeled examples from the comfort

Anastasis Germanidis 647 Jan 05, 2023
Mosaic of Object-centric Images as Scene-centric Images (MosaicOS) for long-tailed object detection and instance segmentation.

MosaicOS Mosaic of Object-centric Images as Scene-centric Images (MosaicOS) for long-tailed object detection and instance segmentation. Introduction M

Cheng Zhang 27 Oct 12, 2022
Crawl & visualize ICLR papers and reviews

Crawl and Visualize ICLR 2022 OpenReview Data Descriptions This Jupyter Notebook contains the data crawled from ICLR 2022 OpenReview webpages and thei

Federico Berto 75 Dec 05, 2022