[Eeglablist] CUDAICA on Windows 10?
Bruzadin Nunes, Ugo
ugob at siu.edu
Thu May 30 19:40:48 PDT 2019
I installed and ran the CUDAICA for windows in two computers successfully. I put together a install instructions for my future self and the lab in case we needed to reinstall it, I added it here. Hope it helps!
Installing CUDAICA on a Windows 10.
1. Update all your PC's drivers. I had issues before that had to do with a few missed updates and drivers of my PC.
2. Install Windows Visual Studio, then restart the computer. https://visualstudio.microsoft.com/downloads/
3. Install CUDA drivers (latest version, I installed the 10), then restart the computer. https://developer.nvidia.com/cuda-downloads
4. Register and Install Intel Parallel Studio XE (make sure the Math Kernel Library is being installed) then restart the computer. https://software.intel.com/en-us/parallel-studio-xe/choose-download/student-windows3. For good measure I installed a bunch of other intel libraries because I couldn't find the correct one initially. This one was the last I tried and it should be the one necessary. There might be a simpler way to instal just the mkl library, but as I said I was having problems so I just installed a bunch of stuff and it worked.
5. Make sure that no folders that path to matlab and eeglab have spaces in them. "/New folder/" and "/Program Files/" ruined many hours of my life. Reinstall MATLAB if necessary, but when I just dragged the folder to C:/ in the lab it worked fine. For good measure I installed eeglab and all the plugins in a folder in C:/, I highly recommend it.
6. (optional but suggested): install BINICA for windows. Instructions are similar to the one's below.
7. Download the windows version from yunhui's github: https://github.com/yhz-1995/cudaica_win . You'll have to manually add or change the files inside eeglab. Read the two "read me"s inside it, but it should have all the instructions I wrote here.
* Add the VS bin and the MKL lib to the system PATHs. This is delicate and needs to be done correctly otherwise it can mess up the system. Here's exactly what you have to do:
* Open the System folder in control panel
* Open Advanced system settings
* Open "Environment Variables..."
* Take a deep breath
* Very carefully, on the UPPER table, click on "path", then click "Edit".
* Make sure nothing is selected on the path's list (click outside the list or un-click the clicked item).
* Click "browse"
* (adding the VS to the path might be unnecessary)Add the VS Code bin if it is not there. In my laptop it's here: C:\Users\Ugo\AppData\Local\Programs\Microsoft VS Code\bin
* Click outside again
* Click browse again
* Find the MKL library. In my laptop it's here: C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019.3.203\windows\redist\intel64_win\mkl
* Save your progress. Press ok ok ok ok.
* Restart your computer.
8. Change the EEGLAB files as instructed in the readme files inside the cudaica_win zip.
* The files to be changed are in eeglab folder: "\functions\sigprocfunc\icadefs.m" and "\functions\popfunc\pop_runica.m"
9. You should be good to go!
* once it's all done, try these codes below:
* for ICA, open a EEG data file and try running the code this line on code in eeglab: EEG = pop_runica(EEG, 'icatype',''cudaica','extended',1).
* for a 30 component PCA: EEG= pop_runica(EEG, 'pca', 30,'icatype',''cudaica','extended',1). The 'pca' has to come first. It doesn't work otherwise, not for me at least.
* It should work now. If it doesn't we might have to go through and check which step you missed. I suggest doing everything in the order I put. VS needs to be installed first, CUDA second and MKL third.
* In the GUI, you have to double-click the CUDAICA. I always triple-click to be safe, but it doesn't run it if you don't double click. You can add " 'pca', 30, " before the 'extended' if you want to run a PCA in CUDAICA.
* bonus: I modified the default in the pop_runica.m and icadefs.m to keep BINICA as default, and to add 'pca' to the GUI, it's pretty simple, I can explain in another email if necessary.
* You can perform time comparisons between a few runs of runica, binica and cudaica using tic / toc function in eeglab/matlab.
* If it works, the code should have a "BOOM" in the middle of the lrate changes.
* If it doesn't work, you mostly likely missed a step, but you can always ask for help!
Ugo Bruzadin Nunes, M.A.
PSYC 312 Instructor - Sensation and Perception
Brain and Cognitive Sciences Ph.D Program || Department of Psychology
Southern Illinois University - Carbondale
From: shirazi at ieee.org <shirazi at ieee.org>
Sent: Tuesday, May 28, 2019 7:04 PM
To: 'James Kroger'; eeglablist at sccn.ucsd.edu
Subject: Re: [Eeglablist] CUDAICA on Windows 10?
That is my question too. But if you are interested in ICA using GPU, you
might want to try BEAMICA by Christian Kothe. BEAMICA is an implementation
of infomax and runs inside MATLAB environment (not a CUDA code then), and if
you have the parallel computing toolbox on your MATLAB plus a CUDA-enabled
GPU, ICA will run on the GPU super fast (3-4 minutes for 128 channels and 40
minutes worth of data).
However, using GPU, the code cannot determine convergence and just runs to a
certain number of iterations and returns W and S.
A copy of BEAMICA is available inside RELICA toolbox
Hope it is helpful for you.
Seyed Yahya Shirazi, M.Sc.
University of Central Florida
<mailto:shirazi at ieee.org> shirazi at ieee.org
From: James Kroger <jkroger at nmsu.edu>
Sent: Friday, May 24, 2019 6:10 PM
To: eeglablist at sccn.ucsd.edu
Subject: [Eeglablist] CUDAICA on Windows 10?
At Fraimono's github site, there was a conversation about getting CUDAICA to
work under Windows 10.
The last post was in August 2018, and it doesn't seem as if there was a
Anybody know if CUDAICA can be run under Windows 10?
More information about the eeglablist