Help:Julia

From CECS wiki
Jump to navigation Jump to search

Julia is a high-level dynamic programming language designed to address the needs of high-performance numerical analysis and computational science.

Matlab code can be directly translated into julia, and tools from R and Python are included in the julia libraries, and there are interfaces for using Julia packages from R and Python. Julia can directly call C libraries as well. Julia is compiled using LLVM as a back end, and resulting code rivals or is faster than C.

Vendor homepage
https://julialang.org/
Julia Package Indices
https://julialang.org/packages/
https://juliahub.com/ - Searchable listing of all registered open source packages
https://juliaobserver.com/ - see what packages are popular and/or trending, navigate by package categories.
https://github.com/svaksha/Julia.jl a manually curated taxonomy of Julia packages
MIT Julia Lab
https://julia.mit.edu/
Software availability
Windows, Unix, macOS, Linux
ask if you want it installed on a server
JuliaPro is a commercial "batteries included" Julia distribution for Windows, Mac, and Linux. Similar to Anaconda for Python.
It looks like JuliaPro has been discontinued
Other related software
matlab, R, python, atom
command to type to run
julia

Interesting Packages and Suites[edit]

This is a selection of particularly interesting Julia tools that are either relevant to general scientific computing or directly applicable to known research happening at UCF. This is by no means comprehensive, as the Julia ecosystem is growing by the day.

  • SciML - An Open Source Software Organization for Scientific Machine Learning, blending ML with Differential Equations (See this blog post for an in depth look at what SciML does, along with some comparative benchmarks)
    • ModelingToolkit.jl - A modeling framework for high-performance symbolic-numeric computation in scientific computing and scientific machine learning.
    • DifferentialEquations.jl - a suite for numerically solving differential equations written in Julia and available for use in Julia, Python, and R.
    • NBodySimulator.jl - A simulator for N-body problems, including astrophysical and molecular dynamics
  • FluxML - Native Julia machine learning and differentiable programming packages
    • Flux.jl - 100% Julia Machine Learning with support for GPUs and other accelerators
    • Zygote.jl - Automatic Differentiation in Julia
  • CUDA:
    • CUDA.jl - CUDA programming for NVIDIA GPUs in Julia

Additional notes[edit]

External Links[edit]