This project is an experimental refactoring of the most famous open source Support Vector Machine library (Libsvm) to add support for modern CPUs SIMD extensions (SSE2, Altivec, Cell/BE SPUs, GPGPU, ...) and leverage multi-core architectures using the POSIX thread library. This branch is highly experimental (understand: full of memory leaks, design issues, movable API, broken third party extensions, most probably broken windows build, ...) and should therefore not yet be used for production purpose.
The original Libsvm project by Chih-Chung Chang and Chih-Jen Lin is available at http://
Work done as part of the simd4libsvm project is aimed at eventually being contributed back to the original project once I get something stable and useful enough and provided the original authors are interested in it :)
As of now (5th of Apr. 2008) only few of the afore mentioned goals are implemented:
- it is possible to choose at runtime between sparse (as in the original libsvm) or dense (new) representation of the input vectors ;
- it is possible to switch at compile time between single or double precision floats
- implementation of SSE2 optimized kernel evaluations including SIMD evaluations of exp in single precision RBF
- pthread based support of multi-core CPUs
Planned feature include:
- Altivec optimised kernels (using intrinsincs)
- libspe2 enabled kernels (for IBM Cell/BE processors that can be found in the Playstation3)
On a longer term, I plan to add support for OpenGL-2 based GPUs. I haven't started to think about which tools to use to do that and
which hardware to target (though the Nvidia RSX chip of the PS3 is probably the first I will have look at).
Please feel free to contact me (olivier.grisel on-the-server ensta.org) should you be interested in working on any of those topics. I personnaly use the Bazaar decentralised version control system to manage the source code: please branch my code ( https:/
Project information
- Maintainer:
- Olivier Grisel
- Driver:
- Olivier Grisel
- Licence:
- Simplified BSD Licence
View full history Series and milestones
simd series is the current focus of development.
All code Code
- Version control system:
- Bazaar
- Programming languages:
- C/C++
All packages Packages in Distributions
-
libsvm source package in Xenial
Version 3.12-1.1 uploaded -
libsvm source package in Trusty
Version 3.12-1 uploaded -
libsvm source package in Precise
Version 3.1-1build1 uploaded -
libsvm source package in Plucky
Version 3.24+ds-6ubuntu2 uploaded -
libsvm source package in Oracular
Version 3.24+ds-6ubuntu2 uploaded