Got Questions? Get Answers.
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
Hardware Suggestions

Subject: Hardware Suggestions

From: Chris Bishop

Date: 2 Oct, 2013 20:01:07

Message: 1 of 4

Hello,

I am trying to put together a plan that allows me to take full advantage of the recent MATLAB toolbox and computer hardware developments ... I was hoping someone might be able to help me vet my approach.

I will be analyzing neuroscientific data (brain waves, etc.) of multiple subjects using open source software available through matlab (EEGLab, ERPLab). Analysis pipelines will rely in part on the Signal Processing Toolbox, Statistics Toolbox, and a few other minor toolboxes. Each subject's data will undergo a nearly identical analysis from start to finish - that is, one subject's data is essentially a self contained processing event. Data files will vary in size, but could easily exceed several GB per subject.

Cluster based computing options are not a cost effective solution for us at the moment, so a stand alone work station is our best option at the moment. I plan to couple a dual CPU (4 cores/CPU, ~2.0 GHz clock speed) equipped with 32 GB RAM and ample storage space (2, 2 TB drives with mirror RAID for data redundancy) with the parallel computation toolbox in MATLAB.

My questions are as follows:

1. Will I be able to take advantage of all cores using the parallel computing toolbox?
2. What are the likely bottlenecks (hardware or otherwise)?
3. Is this data analysis pipeline likely "parallelizable"?
4. Does anyone have an alternative solution or build suggestions?

Thank you for your time.
-Chris

Subject: Hardware Suggestions

From: TideMan

Date: 2 Oct, 2013 21:13:10

Message: 2 of 4

On Thursday, October 3, 2013 9:01:07 AM UTC+13, Chris Bishop wrote:
> Hello,
>
>
>
> I am trying to put together a plan that allows me to take full advantage of the recent MATLAB toolbox and computer hardware developments ... I was hoping someone might be able to help me vet my approach.
>
>
>
> I will be analyzing neuroscientific data (brain waves, etc.) of multiple subjects using open source software available through matlab (EEGLab, ERPLab). Analysis pipelines will rely in part on the Signal Processing Toolbox, Statistics Toolbox, and a few other minor toolboxes. Each subject's data will undergo a nearly identical analysis from start to finish - that is, one subject's data is essentially a self contained processing event. Data files will vary in size, but could easily exceed several GB per subject.
>
>
>
> Cluster based computing options are not a cost effective solution for us at the moment, so a stand alone work station is our best option at the moment. I plan to couple a dual CPU (4 cores/CPU, ~2.0 GHz clock speed) equipped with 32 GB RAM and ample storage space (2, 2 TB drives with mirror RAID for data redundancy) with the parallel computation toolbox in MATLAB.
>
>
>
> My questions are as follows:
>
>
>
> 1. Will I be able to take advantage of all cores using the parallel computing toolbox?
>
> 2. What are the likely bottlenecks (hardware or otherwise)?
>
> 3. Is this data analysis pipeline likely "parallelizable"?
>
> 4. Does anyone have an alternative solution or build suggestions?
>
>
>
> Thank you for your time.
>
> -Chris

In my experience using Fortran on a Cray, unless you have a really large problem, parallelisation is not worth the effort.

In your case, you want to run the same pipeline many times in parallel, rather than splitting the computation of each pipeline between many processors, so why not simply open many Matlabs and run the pipeline on each one? The operating system will sort out the allocation of resources between the different Matlabs.
  

Subject: Hardware Suggestions

From: Marc

Date: 3 Oct, 2013 07:17:07

Message: 3 of 4

TideMan <mulgor@gmail.com> wrote in message <950045a8-f332-476c-9cb7-e46b845f2ae9@googlegroups.com>...
> On Thursday, October 3, 2013 9:01:07 AM UTC+13, Chris Bishop wrote:
> > Hello,
> >
> >
> >
> > I am trying to put together a plan that allows me to take full advantage of the recent MATLAB toolbox and computer hardware developments ... I was hoping someone might be able to help me vet my approach.
> >
> >
> >
> > I will be analyzing neuroscientific data (brain waves, etc.) of multiple subjects using open source software available through matlab (EEGLab, ERPLab). Analysis pipelines will rely in part on the Signal Processing Toolbox, Statistics Toolbox, and a few other minor toolboxes. Each subject's data will undergo a nearly identical analysis from start to finish - that is, one subject's data is essentially a self contained processing event. Data files will vary in size, but could easily exceed several GB per subject.
> >
> >
> >
> > Cluster based computing options are not a cost effective solution for us at the moment, so a stand alone work station is our best option at the moment. I plan to couple a dual CPU (4 cores/CPU, ~2.0 GHz clock speed) equipped with 32 GB RAM and ample storage space (2, 2 TB drives with mirror RAID for data redundancy) with the parallel computation toolbox in MATLAB.
> >
> >
> >
> > My questions are as follows:
> >
> >
> >
> > 1. Will I be able to take advantage of all cores using the parallel computing toolbox?
> >
> > 2. What are the likely bottlenecks (hardware or otherwise)?
> >
> > 3. Is this data analysis pipeline likely "parallelizable"?
> >
> > 4. Does anyone have an alternative solution or build suggestions?
> >
> >
> >
> > Thank you for your time.
> >
> > -Chris
>
> In my experience using Fortran on a Cray, unless you have a really large problem, parallelisation is not worth the effort.
>
> In your case, you want to run the same pipeline many times in parallel, rather than splitting the computation of each pipeline between many processors, so why not simply open many Matlabs and run the pipeline on each one? The operating system will sort out the allocation of resources between the different Matlabs.
>

I agree. Your setup sounds good. Not sure if you are going Windows, Linux or Mac. Ultimately, you will be able to determine whether running multiple instances or parallel computation will be optimum.

One minor note, if you are dealing with a lot of data and you have to use excel or a text file as an intermediate, I found that my ssd on my Mac runs almost 25X faster talking to excel than my work PC, running windows on 2012b and 2013a. I found this curious as the latest version of Matlab and Office seem to be a nice combination on Macs... Even being forced to use xlsread in 'basic' mode

My point is the new Mac Pros may be a very nice machine for your needs...

Subject: Hardware Suggestions

From: Dehuan Xin

Date: 6 Oct, 2013 13:51:10

Message: 4 of 4

FFT is highly optimized for multi-threading
so i think the cores can be made full use of, if your analysis depends highly on FFT

Tags for this Thread

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us