Message Boards Message Boards

0
|
6619 Views
|
1 Reply
|
1 Total Likes
View groups...
Share
Share this post:

Understand Mathematica internals on a Raspberry Pi?

Posted 5 years ago

Hi all, I've been struggling with Mathematica on a Raspberry Pi for a couple or three years and I'd like to know more about how it works to figure out why. I'm using a Pi as it was a cheap start, it's also brought the missing fun back into computers so I'm sticking with it. My first problem was that beyond working as four function calculator, it wouldn't work without WiFi; so I had to buy a dongle. Specifically it was factorials that bombed. This raises the question of does it work locally or in the cloud and when? Second was timeouts, I keep writing code that needs days to run, sometimes for three weeks. Once I solved the power integrity, it took ages to learn that the code was not completing. I suspected maybe it was running in the cloud somewhere. Is that so? Third, and last for now; I thought I'd try clusters and after days of work got a cluster going. However, I have no way of working out if it is being used by Mathematica, or if I have to change my code. In fact, so far; I can't even tell if the internal bench marking tool will work on a cluster. I've learned it won't run on any Pi with 512 MB of RAM, and that it is 6 times since I started with V10. But how do I use a cluster, and how do I tell if it is contributing? Thanks to those who can help, David

POSTED BY: David Morton

Cloud:

Everything works locally, unless you use cloud-specific functions (e.g. CloudEvaluate). Curated data (functions like GraphData) and the Entity stuff is downloaded from the cloud, and need an internet connection. This is just data though, it's not computation.

Benchmark:

The benchmark does not use clusters automatically.

Clusters:

This helps only when you use the parallel tools (functions like ParallelTable). http://reference.wolfram.com/language/ParallelTools/tutorial/Overview.html

You would also need to set everything up first, and unfortunately not documented in great details. See here: http://reference.wolfram.com/language/ParallelTools/tutorial/ConnectionMethods.html I guess you would need to define the remote kernels using RemoteMachine, and add them to $ConfiguredKernels before you can just use LaunckKernels and have everything work.

You would need to set up a way to launch executables seamlessly on all the nodes. One way is to set up public key SSH authentication, so you can run remote commands without entering a password as ssh machineName command. Then adjust the templates inside RemoteMachine as necessary.

Expect to spend a few hours before you manage to get all this working smoothly for the first time.

POSTED BY: Szabolcs Horvát
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract