Skip to content
View jjfumero's full-sized avatar
💻
💻

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.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, 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 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 like 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 for porting TornadoVM to ARM and RISC-V based computing systems with hardware accelerators. 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 framework to perform optimisations for Intel compute architectures (xPUs).

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 at several academic and Industry conferences, including JVMLS, QCon, Devoxx, JavaZone, JAX, and Java User Groups, such as NYJavaSIG.

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 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. beehive-lab/TornadoVM beehive-lab/TornadoVM Public

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

    Java 1.3k 120

  2. openjdk/babylon openjdk/babylon Public

    https://openjdk.org/projects/babylon

    Java 105 29

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

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

    Shell 29 6

  4. 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 14 1

  5. fastr-gpu fastr-gpu Public

    Just In Time Compiler for GPUs for R applications.

    Java 4

  6. marawacc marawacc Public

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

    Java 6 1