Expectation Maximization of Gaussian Mixture Models via CUDA
This is a parallel implementation of the Expectation Maximization algorithm for multidimensional Gaussian Mixture Models, designed to run on NVidia graphics cards supporting
CUDA. On my machine, it provides up to 170x performance increases (16 dims, 16 clusters, 1000000 data points).
See the report available at http://andrewharp.com/gmmcuda for more information.
The interesting code is all in gpugaumixmod.h and gpugaumixmod_kernel.h.
The reference CPU implementation is in cpugaumixmod.h.
It can be integrated into any C program on a CUDA enabled system. Additionally, Matlab integration is provided in gmm.cu.
Since the initial release I have added simultaneous random restarts. Experiment1 now takes advantage of this.
COMPILING
================================================================================
The config files are set up to run on my Windows Vista 64bit machine, but it's just a standard Cuda kernel underneath so it should be portable. A precompiled Windows 64-bit version is included.
See compile.m for the command I use to compile the CUDA/Mex files.
Go here to find the toolkit that contains the files you'll need for compiling on your platform: http://developer.nvidia.com/object/matlab_cuda.html
RUNNING
================================================================================
Once compiled, start off by running gmm_example in Matlab to see it in action.
See experiment1, experiment2, experiment3 for ready to run prebuilt speed analysis experiments.
Cita come
Andrew Harp (2025). Expectation Maximization of Gaussian Mixture Models via CUDA (https://it.mathworks.com/matlabcentral/fileexchange/24020-expectation-maximization-of-gaussian-mixture-models-via-cuda), MATLAB Central File Exchange. Recuperato .
Compatibilità della release di MATLAB
Compatibilità della piattaforma
Windows macOS LinuxCategorie
Tag
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Scopri Live Editor
Crea script con codice, output e testo formattato in un unico documento eseguibile.
gmmcuda/
| Versione | Pubblicato | Note della release | |
|---|---|---|---|
| 1.8.0.0 | -Now handles simultaneous random restarts. Just make the
|
||
| 1.7.0.0 | -Fixed synchronization issues in kernel
|
||
| 1.3.0.0 | updated description |
||
| 1.0.0.0 |
