2

First of all I must say: please be patient with me!

I work with matlab at my university. Lately I have being working with time-demanding codes and my computer is not powerful enough. A professor, and friend of my, who lives in another city is allowing me to use his computer (supercomputer). My question is:

How can I remotely connect or use matlab in MY computer and run the codes on HIS computer? I'll try again: How can I write, debug and run codes from my matlab (I am using windows 8) and let the heavy work be done by the computer of my college? (he has a mac computer)

I have Google and I learn that I can use: SSH tunnel, combined with VNC or Xming. But I do not know how to actually configure these or make them work together, I really tried but......no luck!

Any one who can help me?

I apologize for the lack of technical language in my question, the think is that I don't have any knowledge on the topic!

Thanks!

PS: I have posted this question in Super user also but I have only had 8 viewed...

Sergio Haram
  • 437
  • 4
  • 17
  • I think you are looking for parallel computing, aren't you? – RAM Sep 23 '14 at 08:18
  • @Nonymous NT It is highly possible that I need parallel computing :) – Sergio Haram Sep 23 '14 at 08:23
  • @SergioHaram Does your friend's super computer have Matlab installed? – Dan Sep 23 '14 at 08:26
  • @Dan yes he has! and I have a username and password which I can use if I will connect me via `SSH` – Sergio Haram Sep 23 '14 at 08:28
  • 1
    Can you not just use a remote desktop style programme and run your code on his computer (through yours) rather than run Matlab on your computer and let his do the computations. Do everything on his, remote desktop/team viewer / whatever a windows -> mac equivalent is? – Dan Sep 23 '14 at 08:30
  • Otherwise I would say the first place to look is the Matlab distributed computer server (http://www.mathworks.com/products/distriben/) which I'm sure who ever licenses Matlab to you university will offer full support in term of helping you set it up should you purchase (or already have?) a license... – Dan Sep 23 '14 at 08:31
  • @Dan of course it would be much more easier to use only His computer remotely, thanks for the idea! I have contacted the personal in my University asking for help, but, well..... it just take so long time so I am trying to fix the issue by my self! I have looked at https://web.stanford.edu/group/farmshare/cgi-bin/wiki/index.php/Matlab-interactive but I believe this is for Linux OS and not windows. I will take a look to (mathworks.com/products/distriben) ! – Sergio Haram Sep 23 '14 at 08:39
  • Hey Sergio! Well try [`putty`](http://www.putty.org/). Try the login details with it to get into the remote system. Once in, try to find the location of MATLAB installed directory. You can worry about Xming to enable X11 thing later on. Not tested though, but worth a try right? Also, at friend's end he might be needed to grant the access, which I am not sure about for mac. – Divakar Sep 23 '14 at 08:53
  • @SergioHaram What do you mean by "supercomputer"? Is it a mac or a an actual HPC cluster? – Emerald Weapon Sep 23 '14 at 08:56
  • @caludv my firiend has a mac.... maybe supercomputer is wrong terminology.... Anyways, his mac has 1000 SSD, 100GB Ram and I don't remember the rest of the specs... but is powerful and expensive... – Sergio Haram Sep 23 '14 at 09:07
  • 1
    @SergioHaram To unleash the power of a strong multi-core machine on Matlab the only true option (I think) is the Parallel Computing Toolbox. But it also depends on what the heavy part of your computation is, it could not be necessary in some cases (for example matlab FFT comes parallelized even without the parallel toolbox). – Emerald Weapon Sep 23 '14 at 09:16
  • Anyway, to achieve high performance it is quite essential that you know more precisely the specs of the machine in order to choose the best approach. For example, GPU could be another way to achieve massive speed-up in some cases. – Emerald Weapon Sep 23 '14 at 09:23
  • Thaks @claudv I am starting to realize that maybe the easiest way for me to make this work is by using the Parallel Computing Toolbox. Divakar: I have tried PuTTy, and I believe I have being able to connect me to my friends computer via SSH, but I just don't know how can I run my matlab-codes on his computer, even if I find the Matlab location I need graphics, to lunch the matlab. – Sergio Haram Sep 23 '14 at 09:27
  • @sergioHaram You can execute matlab code from the command line as well. – Emerald Weapon Sep 23 '14 at 09:39
  • Awesome! So now, download and start `Xming` and minimize it and then start `putty` and do [this](http://www.astro.yale.edu/astr255/xming-install/putty-x11.png) and then login. – Divakar Sep 23 '14 at 09:44
  • @SergioHaram: SSH tunneling and X11 forwarding is somewhat foreign to Windows users. I think the easier option for you is to simply remote connect to the computer using something like VNC: http://www.howtogeek.com/180953/3-free-ways-to-remotely-connect-to-your-macs-desktop/ (you might need to configure the router on the other end to forward VNC ports if it is behind a NAT) – Amro Sep 23 '14 at 11:16
  • My information may be a bit outdated. But maybe it's easier to use apples own "Back to My Mac" – bdecaf Sep 23 '14 at 11:38
  • Any chance to do the computations using python? I recently moved a lot of computations from Matlab to python. It has a lot of different scientific/numerical toolboxes, e.g., numpy, scipy, etc. Also, a lot of very specialized ones. Python would easily allow you to parallelize your computations without license hussle. – Konstantin Sep 23 '14 at 13:56

1 Answers1

0

You can compile your Matlab code into a binary and let your friend run it. I believe, you don't need a Matlab license to run compiled Matlab code.

Alternatively, you might consider using python instead of Matlab. It has a lot of numerical/scientific modules, including highly specialized ones. It also allows you to easily parallelize your computations.

Konstantin
  • 2,451
  • 1
  • 24
  • 26