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
adversarial_multi_armed_bandit_variable_plays

Adversarial Multi-Armed Bandit with Variable Plays This code is for paper: Adversarial Online Learning with Variable Plays in the Evasion-and-Pursuit

Yiyang Wang 1 Oct 28, 2021
MT3: Multi-Task Multitrack Music Transcription

MT3: Multi-Task Multitrack Music Transcription MT3 is a multi-instrument automatic music transcription model that uses the T5X framework. This is not

Magenta 867 Dec 29, 2022
frida工具的缝合怪

fridaUiTools fridaUiTools是一个界面化整理脚本的工具。新人的练手作品。参考项目ZenTracer,觉得既然可以界面化,那么应该可以把功能做的更加完善一些。跨平台支持:win、mac、linux 功能缝合怪。把一些常用的frida的hook脚本简单统一输出方式后,整合进来。并且

diveking 997 Jan 09, 2023
Hierarchical Memory Matching Network for Video Object Segmentation (ICCV 2021)

Hierarchical Memory Matching Network for Video Object Segmentation Hongje Seong, Seoung Wug Oh, Joon-Young Lee, Seongwon Lee, Suhyeon Lee, Euntai Kim

Hongje Seong 72 Dec 14, 2022
A PyTorch implementation of the architecture of Mask RCNN

EDIT (AS OF 4th NOVEMBER 2019): This implementation has multiple errors and as of the date 4th, November 2019 is insufficient to be utilized as a reso

Sai Himal Allu 975 Dec 30, 2022
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
Python code to fuse multiple RGB-D images into a TSDF voxel volume.

Volumetric TSDF Fusion of RGB-D Images in Python This is a lightweight python script that fuses multiple registered color and depth images into a proj

Andy Zeng 845 Jan 03, 2023
[NeurIPS'21] Projected GANs Converge Faster

[Project] [PDF] [Supplementary] [Talk] This repository contains the code for our NeurIPS 2021 paper "Projected GANs Converge Faster" by Axel Sauer, Ka

798 Jan 04, 2023
Official implementation for CVPR 2021 paper: Adaptive Class Suppression Loss for Long-Tail Object Detection

Adaptive Class Suppression Loss for Long-Tail Object Detection This repo is the official implementation for CVPR 2021 paper: Adaptive Class Suppressio

CASIA-IVA-Lab 67 Dec 04, 2022
R-Drop: Regularized Dropout for Neural Networks

R-Drop: Regularized Dropout for Neural Networks R-drop is a simple yet very effective regularization method built upon dropout, by minimizing the bidi

756 Dec 27, 2022
LIMEcraft: Handcrafted superpixel selectionand inspection for Visual eXplanations

LIMEcraft LIMEcraft: Handcrafted superpixel selectionand inspection for Visual eXplanations The LIMEcraft algorithm is an explanatory method based on

MI^2 DataLab 4 Aug 01, 2022
Azion the best solution of Edge Computing in the world.

Azion Edge Function docker action Create or update an Edge Functions on Azion Edge Nodes. The domain name is the key for decision to a create or updat

8 Jul 16, 2022
Implementation of Sequence Generative Adversarial Nets with Policy Gradient

SeqGAN Requirements: Tensorflow r1.0.1 Python 2.7 CUDA 7.5+ (For GPU) Introduction Apply Generative Adversarial Nets to generating sequences of discre

Lantao Yu 2k Dec 29, 2022
Official Implementation of HRDA: Context-Aware High-Resolution Domain-Adaptive Semantic Segmentation

HRDA: Context-Aware High-Resolution Domain-Adaptive Semantic Segmentation by Lukas Hoyer, Dengxin Dai, and Luc Van Gool [Arxiv] [Paper] Overview Unsup

Lukas Hoyer 149 Dec 28, 2022
Implementation of ConvMixer-Patches Are All You Need? in TensorFlow and Keras

Patches Are All You Need? - ConvMixer ConvMixer, an extremely simple model that is similar in spirit to the ViT and the even-more-basic MLP-Mixer in t

Sayan Nath 8 Oct 03, 2022
GraphRNN: Generating Realistic Graphs with Deep Auto-regressive Models

GraphRNN: Generating Realistic Graphs with Deep Auto-regressive Model This repository is the official PyTorch implementation of GraphRNN, a graph gene

Jiaxuan 568 Dec 29, 2022
Mengzi Pretrained Models

中文 | English Mengzi 尽管预训练语言模型在 NLP 的各个领域里得到了广泛的应用,但是其高昂的时间和算力成本依然是一个亟需解决的问题。这要求我们在一定的算力约束下,研发出各项指标更优的模型。 我们的目标不是追求更大的模型规模,而是轻量级但更强大,同时对部署和工业落地更友好的模型。

Langboat 424 Jan 04, 2023
Multimodal Co-Attention Transformer (MCAT) for Survival Prediction in Gigapixel Whole Slide Images

Multimodal Co-Attention Transformer (MCAT) for Survival Prediction in Gigapixel Whole Slide Images [ICCV 2021] © Mahmood Lab - This code is made avail

Mahmood Lab @ Harvard/BWH 63 Dec 01, 2022
[ACL-IJCNLP 2021] "EarlyBERT: Efficient BERT Training via Early-bird Lottery Tickets"

EarlyBERT This is the official implementation for the paper in ACL-IJCNLP 2021 "EarlyBERT: Efficient BERT Training via Early-bird Lottery Tickets" by

VITA 13 May 11, 2022
Teaching end to end workflow of deep learning

Deep-Education This repository is now available for public use for teaching end to end workflow of deep learning. This implies that learners/researche

Data Lab at College of William and Mary 2 Sep 26, 2022