[Job Ad] Help building Julia's LLVM-based toolchain

Julia Computing Inc. is looking for an LLVM engineer to work on LLVM, LLDB and Clang to improve integration with the Julia programming language. Knowledge of Julia is not required, but deep knowledge of LLVM is. This position will involve significant contributions back to the open source to both the LLVM and Julia projects.

Immediate high-priority projects

  • LLVM’s JIT debugging and debug info

  • LLVM’s JIT threading support

  • Julia’s Clang-based C++ FFI – Cxx.jl

  • Julia’s (experimental) LLDB-based debugger

On-going responsibilities and longer-term projects

  • Working with Julia code gen experts to improve Julia’s generation of LLVM IR

  • Fixing LLVM bugs encountered by Julia (we use LLVM hard, so this happens a fair bit)

  • Tuning LLVM optimizations for Julia’s usage patterns (which differ somewhat from C/C++)

  • Porting Julia to new architectures by adding/enhancing LLVM backends

  • architecture of interest include ARM, Xeon Phi (Knight’s Landing), GPUs

  • Improving any relevant LLVM tooling

Both full-time employment and short-term consulting opportunities are available. This advertisement is for our Boston (Cambridge), MA, USA office and being local is ideal, but remote engineers will also be considered. Applicants should possess demonstrable experience working in the LLVM ecosystem.

If this position interests you, or you have any questions, please contact us at jobs@juliacomputing.com.

About Julia Computing

Julia Computing was founded by the creators of Julia in response to industry demand for professional support, consulting and training. As part of our mission to make Julia the best technical computing platform in the world, we’re pushing the boundaries of what can be done with tools like LLVM. Julia Computing has offices in Boston, New York and Bangalore.