-
Notifications
You must be signed in to change notification settings - Fork 25
GPU version
Here, we show all information about the parallel version for GPU written using the Nvidia CUDA toolkit.
We built fast-mRMR for GPU using CUDA 7.0. NVIDIA CUDA can be downloaded for almost all platforms in: https://developer.nvidia.com/cuda-downloads.
Follow this instructions to ensure that CUDA was succesfully installed on your machine.
Since CUDA toolkit comes with a custom Eclipse version, we recommend using it to compile the source code. The original Eclipse project can be found here, if you dont know how to import projects from github in eclipse, please follow this tutorial.
In order to compile this version, we include a Makefile example in gpu/src folder that generates a binary file called fast-mrmr.
cd fast-mRMR/gpu/src && make && chmod +x fast-mrmr
To execute the feature selection method, we must type the following (the same as for CPU version):
cd fast-mRMR/gpu/src && ./fast-mrmr -f ../data.mrmr -n 50
The selector is designed to only read data in mRMR-format. Data in CSV format can be transformed to this specific format using Data Reader. The options available in the algorithm are:
-f <inputfile> MRMR file generated using mrmrReader (default: ../data.mrmr).
-c <classindex> Indicates the class index in the dataset (default: 0).
-a <nfeatures> Indicates the number of features to select (default: 10).
-h Prints this message.
fast-mRMR's output consists of a ranking of features separated by commas (in descending order):
./fast-mrmr
765,1582,1672,513,1671,1325,1381,1972,1423,1412
The GPU version works exactly like CPU version, just remember that you need enough space on your Graphics Card memory to handle one single feature. Using the GPU version, only worth when the number of samples is higher than a thousand and data can be stored easily in GPU's memory. It is also worth for cases where the number of diferent values per feature is lower than 64.