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
Interpretable-contrastive-word-mover-s-embedding

Interpretable-contrastive-word-mover-s-embedding Paper Datasets Here is a Dropbox link to the datasets used in the paper: https://www.dropbox.com/sh/n

0 Nov 02, 2021
Codes for the paper Contrast and Mix: Temporal Contrastive Video Domain Adaptation with Background Mixing

Contrast and Mix (CoMix) The repository contains the codes for the paper Contrast and Mix: Temporal Contrastive Video Domain Adaptation with Backgroun

Computer Vision and Intelligence Research (CVIR) 13 Dec 10, 2022
The toolkit to generate auto labeled datasets

Ozeu Ozeu is the toolkit to autolabal dataset for instance segmentation. You can generate datasets labaled with segmentation mask and bounding box fro

Xiong Jie 28 Mar 28, 2022
验证码识别 深度学习 tensorflow 神经网络

captcha_tf2 验证码识别 深度学习 tensorflow 神经网络 使用卷积神经网络,对字符,数字类型验证码进行识别,tensorflow使用2.0以上 目前项目还在更新中,诸多bug,欢迎提出issue和PR, 希望和你一起共同完善项目。 实例demo 训练过程 优化器选择: Adam

5 Apr 28, 2022
Provided is code that demonstrates the training and evaluation of the work presented in the paper: "On the Detection of Digital Face Manipulation" published in CVPR 2020.

FFD Source Code Provided is code that demonstrates the training and evaluation of the work presented in the paper: "On the Detection of Digital Face M

88 Nov 22, 2022
DeepMetaHandles: Learning Deformation Meta-Handles of 3D Meshes with Biharmonic Coordinates

DeepMetaHandles (CVPR2021 Oral) [paper] [animations] DeepMetaHandles is a shape deformation technique. It learns a set of meta-handles for each given

Liu Minghua 73 Dec 15, 2022
Model-based Reinforcement Learning Improves Autonomous Racing Performance

Racing Dreamer: Model-based versus Model-free Deep Reinforcement Learning for Autonomous Racing Cars In this work, we propose to learn a racing contro

Cyber Physical Systems - TU Wien 38 Dec 06, 2022
Code needed to reproduce the examples found in "The Temporal Robustness of Stochastic Signals"

The Temporal Robustness of Stochastic Signals Code needed to reproduce the examples found in "The Temporal Robustness of Stochastic Signals" Case stud

0 Oct 28, 2021
Visualizer using audio and semantic analysis to explore BigGAN (Brock et al., 2018) latent space.

BigGAN Audio Visualizer Description This visualizer explores BigGAN (Brock et al., 2018) latent space by using pitch/tempo of an audio file to generat

Rush Kapoor 2 Nov 21, 2022
Rethinking of Pedestrian Attribute Recognition: A Reliable Evaluation under Zero-Shot Pedestrian Identity Setting

Pytorch Pedestrian Attribute Recognition: A strong PyTorch baseline of pedestrian attribute recognition and multi-label classification.

Jian 79 Dec 18, 2022
This repo contains the implementation of the algorithm proposed in Off-Belief Learning, ICML 2021.

Off-Belief Learning Introduction This repo contains the implementation of the algorithm proposed in Off-Belief Learning, ICML 2021. Environment Setup

Facebook Research 32 Jan 05, 2023
Offcial repository for the IEEE ICRA 2021 paper Auto-Tuned Sim-to-Real Transfer.

Offcial repository for the IEEE ICRA 2021 paper Auto-Tuned Sim-to-Real Transfer.

47 Jun 30, 2022
A Genetic Programming platform for Python with TensorFlow for wicked-fast CPU and GPU support.

Karoo GP Karoo GP is an evolutionary algorithm, a genetic programming application suite written in Python which supports both symbolic regression and

Kai Staats 149 Jan 09, 2023
A Review of Deep Learning Techniques for Markerless Human Motion on Synthetic Datasets

HOW TO USE THIS PROJECT A Review of Deep Learning Techniques for Markerless Human Motion on Synthetic Datasets Based on DeepLabCut toolbox, we run wit

1 Jan 10, 2022
Task Transformer Network for Joint MRI Reconstruction and Super-Resolution (MICCAI 2021)

T2Net Task Transformer Network for Joint MRI Reconstruction and Super-Resolution (MICCAI 2021) [Paper][Code] Dependencies numpy==1.18.5 scikit_image==

64 Nov 23, 2022
A collection of papers about Transformer in the field of medical image analysis.

A collection of papers about Transformer in the field of medical image analysis.

Junyu Chen 377 Jan 05, 2023
End-To-End Crowdsourcing

End-To-End Crowdsourcing Comparison of traditional crowdsourcing approaches to a state-of-the-art end-to-end crowdsourcing approach LTNet on sentiment

Andreas Koch 1 Mar 06, 2022
LightningFSL: Pytorch-Lightning implementations of Few-Shot Learning models.

LightningFSL: Few-Shot Learning with Pytorch-Lightning In this repo, a number of pytorch-lightning implementations of FSL algorithms are provided, inc

Xu Luo 76 Dec 11, 2022
Automatically download the cwru data set, and then divide it into training data set and test data set

Automatically download the cwru data set, and then divide it into training data set and test data set.自动下载cwru数据集,然后分训练数据集和测试数据集

6 Jun 27, 2022
Training Very Deep Neural Networks Without Skip-Connections

DiracNets v2 update (January 2018): The code was updated for DiracNets-v2 in which we removed NCReLU by adding per-channel a and b multipliers without

Sergey Zagoruyko 585 Oct 12, 2022