Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Julia Support #11

Closed
2 tasks done
achimnol opened this issue Mar 1, 2016 · 3 comments
Closed
2 tasks done

Julia Support #11

achimnol opened this issue Mar 1, 2016 · 3 comments
Milestone

Comments

@achimnol
Copy link
Member

achimnol commented Mar 1, 2016

  • Basic REPL implementation
  • Pre-install a list of essential packages
adrysn added a commit that referenced this issue Oct 5, 2016
Todo: this script hangs on read*() function if there is no input to either of STDOUT or STDERR.
adrysn added a commit that referenced this issue Oct 5, 2016
@achimnol achimnol modified the milestone: 0.5 Oct 6, 2016
adrysn added a commit that referenced this issue Oct 9, 2016
* Code delivered from ZMQ socket can be executed.
* Code execution results (stdout, stderr) can be sent.
* Todo: exception handling
* Todo: graph generation
* Todo: road testing with various kinds of Julia codes
* Todo: code execution in jail environment
    - code can be executed with - which julia /home/sorna/run.jl - in run.sh
    - broken pipe error is raised with - exec /home/sorna/jail default which julia /home/sorna/run.jl - in run.sh
achimnol added a commit that referenced this issue Oct 12, 2016
 * Add env-var filtering exception: JULIA_PKGDIR

 * Remove unnecessary zmq installation process in Dockerfile
achimnol added a commit that referenced this issue Oct 12, 2016
 * Reduce extraneous downloads/compilation by pre-installing
   libzmq3-dev and Python 2.7 in the image.

   - TODO: check if Python 3.5 also works.
achimnol added a commit that referenced this issue Oct 12, 2016
 * Add some syscalls that libuv depends on.
   (https://github.com/libuv/libuv/blob/v1.x/src/unix/linux-syscalls.h)

 * Add a lot of syscalls that are NOT forbidden by the default docker
   seccomp profile.
   (https://github.com/docker/docker/blob/master/docs/security/seccomp.md)

 * TODO: Still, terminating a Julia process causes segfault.
achimnol added a commit that referenced this issue Oct 12, 2016
 * jail binaries were built with debug option.

 * Some syscalls in docker's blocked list were mistakenly added.
achimnol added a commit that referenced this issue Oct 12, 2016
 * Update jail-check to match with jail.

   - To use it, you should copy:
     jail-check -> <imgdir>/jail
     intra-jail-check -> <imgdir>/intra-jail
     and rebuild the image.

 * mbind() is forbidden in docker's default profile, but Julia
   seems to need it.

 * TODO: install libgmp and libmpfr in the Julia image.
achimnol added a commit that referenced this issue Oct 12, 2016
 * Install Python 2.7 and matplotlib as in other Python containers,
   including font-cache pre-heating.

 * Separate Julia's jail policy.
adrysn added a commit that referenced this issue Oct 20, 2016
achimnol added a commit that referenced this issue Feb 15, 2017
 * Julia will support continuation, interactive input, and native
   multimedia outputs.
achimnol added a commit that referenced this issue Feb 20, 2017
 * ParseError now has line number information as well.
achimnol added a commit that referenced this issue Feb 21, 2017
 * Pre-installed packages now include widely used plotting libraries
   from http://julialang.org/downloads/plotting.html

   - Depending on plotting libraries, you may try:

     display("image/png", plotobj)
     display("image/svg+xml", gcf())

     for native multimedia output in Sorna.

 * Fixed exception trace formatting for more various exception types.
   (only some have "msg" field...)
@achimnol
Copy link
Member Author

achimnol commented Feb 25, 2017

Let's add TensorFlow flavor of Julia.
https://github.com/malmaud/TensorFlow.jl

achimnol added a commit that referenced this issue Feb 25, 2017
achimnol added a commit that referenced this issue Mar 5, 2017
 * Removed Winston, Gadfly packages as they do not work well with new Plots
   wrapper package and complicates installation due to dependencies to Cairo.
achimnol added a commit that referenced this issue Mar 5, 2017
 * Downloading this from our build machine takes tooooo long time.
achimnol added a commit that referenced this issue Mar 6, 2017
 * When compiling Julia as redistributable binaries, we need to explicitly specify the target
   architecture ("x86-64" in our case).

   - When I built Julia in our internal server, it didn't run on EC2 instances and
     MacBook laptops with "target architecture mismatch" error.

   - Minor note: "x86_64" breaks the compilation in the ./configure phase.

 * Allow the work user to write JULIA_PKGDIR for updating stale JIT caches.
@achimnol
Copy link
Member Author

achimnol commented Mar 22, 2017

Currently Julia kernel has some race-condition-like issues:

  • Running a code snippet may or may not return its result immediately. Sometimes it requires multiple times of repeated queries to get results. (The result itself looks sane.)
  • When importing PyPlot, above problem arises almost always (thanks to @bluehope for reporting this).

@bluehope
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants