Skip to content
View jjfumero's full-sized avatar
🌀
Improving #TornadoVM
🌀
Improving #TornadoVM

Highlights

  • Pro

Organizations

@beehive-lab @E2Data
Block or Report

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

Hi there! I am a Research Fellow working as part of the Advanced Processor Technologies (APT) Research Group at The University of Manchester on Heterogeneous Virtual Machines and language runtime systems for the acceleration of applications using Graphics Processing Units (GPUs) and Field Programmable Gate Arrays (FPGAs). I am also the software architect of the TornadoVM project (a Java framework for automatically running JVM applications on heterogeneous hardware).

What do I do?

Currently, I am working on the AERO European Project porting TornadoVM to ARM and RISC-V based computing systems with hardware accelerators. Besides, I collaborate with the GAIA project (under the European Space Agency ESA) to help accelerating Java HPC workloads on GPUs using the TornadoVM software stack. In the past, I have worked and collaborated with Intel to bring oneAPI into the TornadoVM framework to perform optimisations for Intel compute architectures (xPUs).

Furthermore, I do public speaking about my 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.

As an outcome of all this work at the University of Manchester, I received the Best Outstanding Output by Research Staff Award in 2022 (link). I am also an Intel oneAPI Innovator, and I participate in the Level Zero Community Forum Hardware Group, and oneAPI Language Group to help shaping the evolution of oneAPI for managed runtime programming languages.

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

  1. beehive-lab/TornadoVM beehive-lab/TornadoVM Public

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

    Java 1.1k 102

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

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

    Shell 28 6

  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 12

  4. beehive-lab/levelzero-jni beehive-lab/levelzero-jni Public

    Intel LevelZero JNI library for TornadoVM

    Java 9 3

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