RSE Sheffield Blog

Manchester Julia Workshop

Avgoustinos Vouros
19 October 2016 12:46

A few weeks ago (19-20th September 2016) I had the chance to attend the very first Julia workshop in the UK held at the University of Manchester by the SIAM Student Chapter. The first day of the workshop consisted of a basic tutorial of Julia, installation instructions and around five hours of hackathon. The second day provided an introduction to carrying out research in various fields such as data analysis, material science, natural language processing and bioinformatics using Julia. The attendees were a mixture of PhD students, post-docs and lecturers mainly from the University of Manchester as well as other universities and institutes (Warwick, Glasgow, Reading, MIT, Imperial College London, Earlham Institute).

Day 1: Tutorial and Hackathon

There are several ways to run Julia in any OS, including command line version, Juno IDE and Jupyter notebook (IJulia). In case you want to avoid any installation process then there is also the browser based JuliaBox.com. I was surprised that the whole process was smooth without any software setup issues!

The tutorial consisted of some very basic demonstration of Julia mostly on linear algebra and statistics and after a short break we were left to explore Julia, collaborate and exchange ideas. There were also two Exercises proposed to us:

  • First Steps With Julia by kaggle which teaches some basics of image processing and machine learning to identify the character from pictures.
  • Bio.jl Exercises by Ben J. Ward which provides simple examples of using the Bio.jl to do simple operations and manipulations of biological sequences.

As I wanted to try as many libraries as possible from image processing and data visualization to embedded Java, I ended up using a lot of different packages so I found these commands (self-explanatory) for package managing the most useful for me:Pkg.add("PackageName"), Pkg.status(), Pkg.update(). Here of course, I detected some compatibility issues. I was running Julia version 0.4.6 but it appears that most of the attendees were using the version 0.4.5. Some commands seemed to have changed between these versions; for example in the kaggle’s exercise the command float32sc(img) which converts an image to float values was not working for me instead I had to use the float32(img) command. A minor issue for a new-born language.

Day 2: Talks

The talks were centred around specific fields with heavy scientific computing (automatic differentiation, molecular modelling, natural language processing, bioinformatics and computational biology) and how Julia influence these fields. Each speaker presented his field of research and his Julia implementations which ended up as another package for the Julia community. More information about the speakers can be found on the Manchester Julia Workshop webpage and a list of the presented packages can be found below:

Final words

Overall I was very satisfied with the Julia experience and I am waiting for its first official release (v1.0) which will probably be next year. Here are the main advantages which led me to believe that Julia can be the next on demand programming language for scientific computing:

  • Combines the productivity of dynamic languages (Java, Python) and the performance of static languages (C, Fortran). In other words: very easy to write optimized code and run your program fast at the same time. Dr Jiahao Chen from MIT in his talk mentioned the following referring to Julia’s speed, “You can define many methods for a generic function. If the compiler can figure out exactly which method you need to use when you invoke a function, then it generates optimized code”.
  • Deals with the two language problem: base library and functionality is written in Julia itself.
  • It is free and open source (MIT licensed), high advantageous for the scientific community to share code or expand existing one.
  • A great and friendly community and users from various fields which constantly expand the existing Julia library.

Fun fact: The system for variable declaration accepts any Unicode character: \delta[tab] = 2 results in δ = 2, \:smiley: = 4 results in 😃 = 4. Although, apart from some April Fool’s pranks, Julia’s stylistic conventions is advised to be followed when defining variable names!


Coffee and Cakes Event

Paul Richmond
26 September 2016 15:42

RSE Sheffield is hosting its first coffee and cakes event on 4th October 2016 at 10:00 in the Ada Lovelace room on 1st floor of the Computer Science Department (Regents Court East). Attendance is free and you don’t need to register (or bring coffee and cake with you). Simply call in and take the opportunity to come and have an informal chat about research software.


Accelerated versions of R for Iceberg

Mike Croucher
12 September 2016 01:31

To Long; Didn’t Read – Summary


The University of Sheffield named an NVIDIA GPU Education Center

Paul Richmond
2 July 2016 17:50

Sheffield NVIDIA Education Centre


NAG Fortran Compiler 6.1 released

Mike Croucher
16 June 2016 14:50

All members of the University are entitled to download and use the NAG Fortran Compiler under the terms of our site license.


High Performance Computing with Maple, Part 1

Mike Croucher
26 May 2016 12:40

Many people who use Maple on Sheffield’s High Performance Computing (HPC) cluster do so interactively. They connect to the system, start a graphical X-Windows session and use Maple in exactly the same way as they would use it on their laptop. Such usage does have some benefits: giving access to more CPU cores and memory than you’d get on even the most highly specified of laptops, for example.


Fun with strace

David Jones
23 May 2016 10:26

How I solved a mystery with strace and bash


We're hiring - RSE Position on Massive Scale Complex Systems Simulation with Accelerated Computing

Paul Richmond
25 April 2016 10:06

A new position is available as a Research Associate/Research Software Engineer in the area of complex systems modelling using emerging high performance parallel architectures.


9 steps for quality research software

Mike Croucher
18 April 2016 08:54

I attended the Software Sustainability Institute’s Collaborations Workshop last month. This annual workshop is one of the primary events in the Research Software Engineering calendar and I highly recommend going to one if you are involved in the development of research software in any way.


Sheffield RSE team collaborates with lecturers to teach computation

Mike Croucher
11 April 2016 08:26

image

Contact Us

For queries relating to collaborating with the RSE team on projects: rse@sheffield.ac.uk

Information and access to Bede.

Join our mailing list so as to be notified when we advertise talks and workshops by subscribing to this Google Group.

Queries regarding free research computing support/guidance should be raised via our Code clinic or directed to the University IT helpdesk.

List of archived pages: Archive.