paper-with-me

홈 › Papers

Automatic Full Compilation of Julia Programs and ML Models to Cloud TPUs

2018-10-23 · Keno Fischer, Elliot Saba

Google's Cloud TPUs are a promising new hardware architecture for machine learning workloads. They have powered many of Google's milestone machine learning achievements in recent years. Google has now made TPUs available for general use on their cloud platform and as of very recently has opened them up further to allow use by non-TensorFlow frontends. We describe a method and implementation for offloading suitable sections of Julia programs to TPUs via this new API and the Google XLA compiler. Our method is able to completely fuse the forward pass of a VGG19 model expressed as a Julia program into a single TPU executable to be offloaded to the device. Our method composes well with existing compiler-based automatic differentiation techniques on Julia code, and we are thus able to also automatically obtain the VGG19 backwards pass and similarly offload it to the TPU. Targeting TPUs using our compiler, we are able to evaluate the VGG19 forward pass on a batch of 100 images in 0.23s which compares favorably to the 52.4s required for the original model on the CPU. Our implementation is less than 1000 lines of Julia, with no TPU specific changes made to the core Julia compiler or any other Julia packages.

📄 PDF Abstract BibTeX arXiv:1810.09868

Code (0)

등록된 구현이 없습니다.

Tasks

BIG-bench Machine LearningCPU

Similar Papers 제목 키워드 기반

JLIR: A Julia-Native MLIR-Inspired Intermediate Representation with Automatic JACC Kernel Extraction

2026-09-04 · Narasinga Rao Miniskar, Seyong Lee, Keita Teranishi, Jeffrey S Vetter arxiv

The Multi-Level Intermediate Representation (MLIR) has made reusable compiler infrastructure practical for domain-specific computation. However, MLIR's strong compile-time type requirements and low-level (C++) extension …

Evaluating AI-generated code for C++, Fortran, Go, Java, Julia, Matlab, Python, R, and Rust

2024-05-21 · Patrick Diehl, Noujoud Nader, Steve Brandt, Hartmut Kaiser

This study evaluates the capabilities of ChatGPT versions 3.5 and 4 in generating code across a diverse range of programming languages. Our objective is to assess the effectiveness of these AI models for generating scien…

Numerical Integration

mlirSynth: Automatic, Retargetable Program Raising in Multi-Level IR using Program Synthesis

2023-10-06 · Alexander Brauckmann, Elizabeth Polgreen, Tobias Grosser, Michael F. P. O'Boyle

MLIR is an emerging compiler infrastructure for modern hardware, but existing programs cannot take advantage of MLIR's high-performance compilation if they are described in lower-level general purpose languages. Conseque…

Program Synthesis

GaussianProcesses.jl: A Nonparametric Bayes package for the Julia Language

2018-12-21 · Jamie Fairbrother, Christopher Nemeth, Maxime Rischard, Johanni Brea 외

Gaussian processes are a class of flexible nonparametric Bayesian tools that are widely used across the sciences, and in industry, to model complex data sources. Key to applying Gaussian process models is the availabilit…

Binary ClassificationGaussian Processes

C codegen considered unnecessary: go directly to binary, do not pass C. Compilation of Julia code for deployment in model-based engineering

2025-02-03 · Fredrik Bagge Carlson, Cody Tapscott, Gabriel Baraldi, Chris Rackauckas

Since time immemorial an old adage has always seemed to ring true: you cannot use a high-level productive programming language like Python or R for real-time control and embedded-systems programming, you must rewrite you…

C++ codeCode GenerationState Estimation