Skip to content
View jjfumero's full-sized avatar
🏠
Working from home
🏠
Working from home

Highlights

  • Pro

Organizations

@oracle @openjdk @ProgrammingHMREs

Block or report jjfumero

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
jjfumero/README.md

Juan Fumero

I am a Software Developer at Oracle, working in the Java Platform Group.

Background

I have worked as a Researcher Fellow at The University of Manchester doing some research about how to make computer programs fast by harnessing the power of specialized hardware such as Graphics Processing Units (GPUs) and Field Programmable Gate Arrays (FPGAs). I also led the development of TornadoVM, a Java framework that automatically allows Java programs to utilize this hardware for a massive speed boost. My background is Just In Time compilation, managed runtime systems, GPUs and parallel computing.

Past Collaborations

I have worked in a few EU projects, such as AERO European Project extending TornadoVM to enable hardware acceleration of Java programs on ARM and RISC-V based computing systems. Besides, I collaborated with the GAIA project (under the European Space Agency ESA) to help accelerating Java HPC workloads on GPUs using the TornadoVM software stack. I have also worked and collaborated with Intel to bring oneAPI into the TornadoVM programming framework, in which I also performed compiler and memory optimisations for Intel compute architectures (Intel ARCs and Intel Integrated GPUs).

Public Speaking and Standarization

I tend to do public speaking about my previous research at the University of Manchester and software engineering topics. I have presented my work at several academic and Industry conferences, including JVMLS (2019 & 2023), QCon (2019 & 2021), Devoxx (2021), JavaZone (2021), JAX (2022), and Java User Groups, such as NYJavaSIG among many other events.

I am also an Intel oneAPI Innovator, and I participate in the Level Zero Community Forum Hardware Group, and in the oneAPI Language Group to help shaping the evolution of oneAPI for managed runtime programming languages. From January 2025, I also participate as an external member in the RISC-V J Extension Group.

Education

I obtained my PhD at The University of Edinburgh on Accelerating Interpreted Programming Languages on GPUs with Just-In-Time and Runtime Optimisations. I extended the Graal JIT compiler and the Partial Evaluator to allow programmers to automatically execute Java, R and Ruby programs on GPUs via OpenCL.

Before doing the PhD, I obtained my Bachelor’s and Master’s degrees in Computer Science at The University of La Laguna (Tenerife, Spain). In my Master’s project, I contributed to the development of the accULL compiler, the first open-source compiler’s implementation for the OpenACC standard, under the supervision of Dr Ruyman Reyes and Dr Francisco de Sande.

Industry

Additionally, I have also worked as an intern at Oracle Labs and CERN, implementing compilers and evaluating parallel programming techniques for multi-core CPU systems.


If you are also interested in any of these topics, get in touch!

Stats

My GitHub Stats

My GitHub Language Stats


Pinned Loading

  1. openjdk/babylon openjdk/babylon Public

    https://openjdk.org/projects/babylon

    Java 119 32

  2. beehive-lab/TornadoVM beehive-lab/TornadoVM Public

    TornadoVM: A practical and efficient heterogeneous programming framework for managed languages

    Java 1.4k 125

  3. beehive-lab/beehive-spirv-toolkit beehive-lab/beehive-spirv-toolkit Public

    Prototype for a SPIR-V assembler and dissasembler. It provides a composable Java interface for generating SPIR-V code at runtime.

    Java 13 1

  4. beehive-lab/docker-tornadovm beehive-lab/docker-tornadovm Public

    Docker build scripts for TornadoVM on GPUs: https://github.com/beehive-lab/TornadoVM

    Shell 31 6

  5. marawacc marawacc Public

    Parallel programming framework for accelerating Java programs on GPUs and multi-core CPUs.

    Java 6 1

  6. fastr-gpu fastr-gpu Public

    Just In Time Compiler for GPUs for R applications.

    Java 4