[Eeglablist] Installing CUDAICA on Windows 10 (2021 update)

Makoto Miyakoshi mmiyakoshi at ucsd.edu
Wed Nov 17 12:20:16 PST 2021


Dear John,

I found it interesting that in your case runica()'s processing time
linearly increased (63 -> 168 min) as the input data length increased (8 ->
25 min), but that for CUDAICA did not (2.3 -> 2.8 min).

If you have 126 ch, you want to have 126^2*30 = 476280 data points as a
minimum (from SCCN's never-verified rule of thumb). But you have 275*474=
130350 datapoints, which seems suboptimal to ensure a good learning.
Perhaps you want to apply dimension reduction using PCA to obtain 70 ICs,
so that the same rule of thumb predicts 70^2*30 = 147000 datapoints for
learning, which is much closer.

Do you want to know more detail about this optimization?
In fact, without running a simulation you can't theoretically determine
what number is a good number. This is why I wrote this simulator as an
EEGLAB plugin. Try it out to 'feel' how much deviation/violation from the
'rule of thumb' can negatively impact the decomposition.
https://urldefense.proofpoint.com/v2/url?u=https-3A__www.youtube.com_watch-3Fv-3DCGOw04Ukqws&d=DwIFaQ&c=-35OiAkTchMrZOngvJPOeA&r=kB5f6DjXkuOQpM1bq5OFA9kKiQyNm1p6x6e36h3EglE&m=YfSSJdGbaWUJjsVGL_Bd3kbvoWDALgCGOA44Hn93INujbnQT8WNcijz3CAaY7Km2&s=HuuZdy7O3viOY-fIz_ayjeDkatQ_038Fa2wbfMDeg9I&e= 

Makoto

On Tue, Nov 16, 2021 at 2:59 PM Richards, John <RICHARDS at mailbox.sc.edu>
wrote:

> I was curious about the speed differences for my applications.  I have
> tested this before, did not write down my results.
>
> I ran an EEGlab file, 126 channels * 275 samples * 474 trials, about 8 min
> of EEG data.  This is done on a linux node in a a linux cluster, Intel(R)
> Xeon(R) CPU E5-2680 v4 @ 2.40GHz node, with 256G memory, 28 cores.  The
> runica appears to be working on 12 cores.   The gpu was a dual Tesla
> P100-PCIE-16G.  The cudaica ran on one GPU.
>
> runica version took 63 min.  cudaica version took 2 min 15 s;
> runica appeared to be running on multiple CPUs, ~ 12 CPUs.
>
> I concatenated the data for 1422 trials, about 25 min
> Cudica took 2 min 50s|
> runica took 2.8 hours, 12 CPUs
>
> Most of our runs with infants take 8 to 10 min, some of our adults runs
> are 25 min.
>
> I understand from the earlier conversation the binica might be able to
> match these results?   I'm not going to do a full test, but this convinces
> me to stick with cudaica for now.
>
> John
>
>
> -----Original Message-----
> From: Richards, John
> Sent: Thursday, November 11, 2021 1:15 AM
> To: Makoto Miyakoshi <mmiyakoshi at ucsd.edu>; ugob at siu.edu;
> eeglablist at sccn.ucsd.edu
> Subject: RE: [Eeglablist] Installing CUDAICA on Windows 10 (2021 update)
>
> Re CUDAICA.  I was able to install it, i don't remember it being that
> difficult.  I had to mess around with the CUDA version.
>
> I have found it "blazing" fast compared to runica. I have not timed it.
> We have 10-15 min sessions with EGI 128, 250 hz, do the Prep pipeline to
> get avg ref, and then CUDAICA.  It takes < 5 min to do the Prep, and  < 5
> min to do the CUDAICA; cf 45 min to 60 min with runica.  I may not be using
> the most recent runica.   BTW, we have fairly powerful computers; we use 48
> cores for the Prep pipeline which is a vast speedup, and V100's with 16gb
> or 32gb.   Definitely not bargain chips.  We use the 48core computers for
> the runica, but it does not appear to profit from the multiple CPUs.  The
> Prep pipeline also is very slow on single CPUs, but very fast on the 48 CPU
> machines.
>
> I would be glad to share more details if anyone is interested.
>
> John
>
>
> ***********************************************
> John E. Richards
> Carolina Distinguished Professor
> Department of Psychology
> University of South Carolina
> Columbia, SC  29208
> Dept Phone: 803 777 2079
> Fax: 803 777 9558
> Email: richards-john at sc.edu
>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__jerlab.sc.edu&d=DwIFAw&c=-35OiAkTchMrZOngvJPOeA&r=pyiMpJA6aQ3IKcfd-jIW1kWlr8b1b2ssGmoavJHHJ7Q&m=XWfhosWnNSjs97eRAV2Ysofk5w2Z2_mbQvfeek3KRqTVlZ-2fBHSCo5P_bnFInes&s=yvIsDcwOpKjhTPokE_cuv5RlAl7bUeNjmpt7-e34zWk&e=
> *************************************************
>
> -----Original Message-----
> From: eeglablist <eeglablist-bounces at sccn.ucsd.edu> On Behalf Of Makoto
> Miyakoshi via eeglablist
> Sent: Thursday, November 11, 2021 1:02 AM
> To: EEGLAB List <eeglablist at sccn.ucsd.edu>; ugob at siu.edu
> Subject: [Eeglablist] Installing CUDAICA on Windows 10 (2021 update)
>
> Dear list members,
>
> I summarized the steps to install cudaica() which uses GPU computation to
> calculate infomax ICA (Raimondo et al., 2012). The result from the speed
> comparison between runica() and cudaica() was not as dramatic as x25
> reported by the original paper, probably because Tjerk's smart hack alone
> already gave x4-5 speed up to runica(). Still, using a relatively cheap
> GTX1660 (the pre-COVID price range is $250), I confirmed x4-5 speed up
> compared with runica(). The detailed instruction can be found in the
> following link.
>
>
> https://sccn.ucsd.edu/wiki/Makoto%27s_useful_EEGLAB_code#By_using_CUDAICA_.2811.2F10.2F2021_added.29
>
> WARNING: The installation was difficult.
>
> Makoto
> _______________________________________________
> Eeglablist page: http://sccn.ucsd.edu/eeglab/eeglabmail.html
> To unsubscribe, send an empty email to
> eeglablist-unsubscribe at sccn.ucsd.edu
> For digest mode, send an email with the subject "set digest mime" to
> eeglablist-request at sccn.ucsd.edu
>



More information about the eeglablist mailing list