Running Julia on Google Cloud Compute / Managed VM

647 views
Skip to first unread message

Pavel

unread,
Mar 8, 2015, 6:09:57 PM3/8/15
to julia...@googlegroups.com
While there is already a package that helps running Julia on Amazon EC2, Google Cloud does not seem to be widely used by the community. I did notice however that a fairly impressive JuliaBox system has some docker components in it along with the nginx server etc. I'm yet to get familiar with docker but it my assumption is that the docker-component should not be restricted to AWS and could be used on GCloud as well.

Has anyone tried using docker-component of JuliaBox with GCloud? Is this component coded for a specific Linux flavor? I am interested in having just a Julia runtime environment on GCloud Compute without the part of JuliaBox that allows to connect from a browser, edit code in it etc. Any pointers would be helpful for (hopefully not too complex) setup of Julia docker container on GCloud virtual machines.

Tony Kelman

unread,
Mar 8, 2015, 8:17:56 PM3/8/15
to julia...@googlegroups.com
Do you want to build Julia from source, or just run a binary? If you just want to run a binary, do the following:

mkdir -p ~/julia
curl -s -L https://status.julialang.org/stable/linux-x86_64 | \
  tar -C ~/julia -x -z --strip-components=1 -f -
export PATH="$PATH:$HOME/julia/bin"

This is what we run on Travis-CI when you set `language: julia`. It should work on pretty much any 64-bit Linux distribution. Replace "stable" with "download" if you want to use an 0.4-dev nightly, though unless you're developing Julia itself (in which case you probably want a from-source build) or absolutely need to use some 0.4-only feature, this is not recommended for regular use right now.

Pavel

unread,
Mar 8, 2015, 8:53:54 PM3/8/15
to julia...@googlegroups.com
I do want a stable v0.3 binary, but what about all the libraries/dependencies? My understanding is that there are quite a bit of those judging by the list of packages in Ubuntu repository on my development machine... Thought docker can create a bundle with everything needed, including custom Julia packages, and the whole thing becomes ready to use n GCloud (wishful thinking here?).

Tony Kelman

unread,
Mar 8, 2015, 9:03:01 PM3/8/15
to julia...@googlegroups.com
The tarball that those instructions will download and extract has all the library dependencies included in it. Should just work (tm), whether or not you're using Docker. I think you'll need to manually install git for the package manager to work, that part will be distribution-dependent. We'll eventually get rid of that requirement too, "just" needs somebody to rewrite almost the entire package manager.

Pavel

unread,
Mar 8, 2015, 9:23:40 PM3/8/15
to julia...@googlegroups.com
I see now, thanks for clarifying. The next thought I had was to customize this tarball with additional packages (which live in private repos, no ssh keys on production server si git won't help) and include those in /etc/julia/juliarc.jl . Then repack the custom version and upload to GCloud. Does that sound like a reasonable workflow? What would be a good place for custom Julia packages within the tarball's directory structure?

Tony Kelman

unread,
Mar 8, 2015, 9:36:09 PM3/8/15
to julia...@googlegroups.com
I don't think anyone has figured out the right way to do default packages yet, especially not private packages. Juno does some I think, and JuliaBox does a pretty big set.

Pavel

unread,
Mar 8, 2015, 9:53:26 PM3/8/15
to julia...@googlegroups.com
DeclarativePackages.jl seems helpful, thanks. Will also try the dockerfiles from your other answer.

Viral Shah

unread,
Mar 9, 2015, 12:38:39 AM3/9/15
to julia...@googlegroups.com
I think it is a good idea to put out the Docker containers for download - as many people will find it useful. Is there a way to build them automatically? Certainly for 0.3, we can just upload what we have built for JuliaBox to the downloads page.

-viral
Reply all
Reply to author
Forward
0 new messages