How to use a supercomputer

Hi there,
I'm working on a code which has several loops. I need to run this code for very small increments, however, when I estimated the time for this, it gave me roughly 512 days. This has been done on my computer which has only 2 cores. I have now access to a 64 and higher core supercomputer. But when I use parallel computing using parfor and matlabpool, I cannot open more than 8 cores. It doesn't really change a lot the simulations' time. I was wondering if anyone can help me use up all the 64 or higher cores for my program. Please let me know if there is anyway to activate all the possible cores to run my program in a parallel manner.
Thank you,

2 个评论

Dear Matlab online Community
Hi
We run online a quite simple Matlab M-code for a seismic waterpipeline SSI problem. This is topic of academic research by my M.Sc. student in Civil Eng- Ms.R.Panahi. But due to some limitations of memory exceeding 5GB it could not proceed. Can you help in running this code on an extended memory and also somewhat faster for e.g. in clouds computation etc.
Thank you very much in advance for your help.
e-mail: mrea130@hotmail.com
MathWorks Cloud Center lets you rent and manage cloud computing power on Amazon Web Services (AWS) to run MATLAB without deep cloud skills. You can rent a single virtual machine or a large computer cluster. [1, 2]
How Cloud Center Works
  • Single Machines: Spin up a cloud computer with MATLAB pre-installed and use it via a web browser or remote desktop.
  • Compute Clusters: Run MATLAB Parallel Server to speed up heavy math and large simulations.
  • Custom Settings: Pick your choice of operating system, CPU size, GPU support, and auto-shutdown times. [1, 2, 3, 4]
Steps to Rent and Use
  • Link Account: Connect your own public cloud account (like AWS) to the MathWorks tool.
  • Launch: Start your instance directly through the web interface.
  • Connect: Log in and run your code on high-performance remote

请先登录,再进行评论。

回答(4 个)

Walter Roberson
Walter Roberson 2013-3-18

0 个投票

A later version of MATLAB would permit 12 cores.
Beyond that you need to use the Distributed Computing Toolbox.

1 个评论

Maz has written:
Thanks Walter. If I have this toolbox installed, do you think I would be able to activate all the cores on the sever using the same command (matlabpool)? Or I should do it in another way which I'm not aware of!
[Please post comments in the comment section, and not as answer - Thanks!]

请先登录,再进行评论。

Jan
Jan 2013-3-19
编辑:Jan 2013-3-19

0 个投票

I suggest to post the relevant part of the code at first. When increasing the number of cores from 2 to 8 does not decrease the runtime significantly, expanding to 64 cores will not help much more. But I haven't seen a code, which could not profit from the massive knowhow of the forum members. While improvements of the code can increase the program by a factor of 1000, 64 cores can be 32 times faster only in the absolute not realistic best case.

1 个评论

Maz
Maz 2013-3-19
移动:Walter Roberson about 5 hours 前
The code just computes some recursive relations, it is not fancy, but it has several for loops, something like this:
for alpha=1...
for beta=1...
for gamma=1...
for delta=1...
. . .
x(n+1)=f1(x(n),y(n),z(n),t(n));
y(n+1)=f2(x(n),y(n),z(n),t(n));
z(n+1)=f3(x(n),y(n),z(n),t(n));
t(n+1)=f4(x(n),y(n),z(n),t(n));
. . .
end
end
end
end
That's clear the complexity is really high. Apart from the two innermost loops, the remaining for-loops can be calculated using parallel computations.

请先登录,再进行评论。

Maz
Maz 2013-4-9

0 个投票

It seems there is Distributed Computing Toolbox 6.1 installed on the server, but I don't know how to use, can anyone help me regarding this issue?

2 个评论

I'm assuming there is an administrator who set this up, you can probably get the fastest response from them as to how things are set up and how to submit jobs.
Maz
Maz 2013-4-11
移动:Walter Roberson about 5 hours 前
yes I asked them, they told they installed it but they don't know how it works!

请先登录,再进行评论。

Jason Ross
Jason Ross 2013-4-12

0 个投票

Basic outline of how to connect to a MDCS server using PCT:
  • If you have a recent enough MATLAB, use "Discover Clusters" under the Parallel Menu and see if your cluster shows up. Validate the profile when prompted to do so to make sure the cluster is indeed configured correctly.
  • Ask your admin staff if they have a cluster profile they used to validate that the cluster was working properly. They should be able to save/export it and then you can import it.
  • If you don't have Discover Clusters, make a new MDCS profile using the Profile Manager, filling in the required blanks and then validating it at the end.
When the cluster validates, you should be good to go. The easiest way to try out your code on the cluster is to set your profile as the default and just run your m-code. If you've got it working with the local profile already, it's highly likely that it will "just work" on the cluster. The only thing you may need to do is add file or folder dependencies in the cluster profile if you have external dependencies you need on the cluster.

类别

帮助中心File Exchange 中查找有关 Introduction to Installation and Licensing 的更多信息

提问:

Maz
2013-3-18

移动:

about 15 hours 前

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by