Posts by Collection

podcasts

portfolio

projects

publications

Exploiting High-Performance Heterogeneous Hardware for Java Programs using Graal

Published in ManLang 2018, Linz, Austria, 2018

Recommended citation: James Clarkson, Juan Fumero, Michalis Papadimitriou, Foivos S. Zakkak, Maria Xekalaki, Christos Kotselidis, Mikel Lujan (The University of Manchester) Exploiting High-Performance Heterogeneous Hardware for Java Programs using Graal. ManLang 2018. https://www.researchgate.net/publication/327097904_Exploiting_High-Performance_Heterogeneous_Hardware_for_Java_Programs_using_Graal

Dynamic Application Reconfiguration on Heterogeneous Hardware

Published in VEE 2019, Providence, Rhode Island, United States, 2019

Recommended citation: Juan Fumero, Michail Papadimitriou, Foivos S. Zakkak, Maria Xekalaki, James Clarkson, and Christos Kotselidis. 2019. Dynamic application reconfiguration on heterogeneous hardware. In Proceedings of the 15th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE 2019). ACM, New York, NY, USA, 165-178. DOI: https://doi.org/10.1145/3313808.3313819 https://github.com/jjfumero/jjfumero.github.io/blob/master/files/VEE2019_Fumero_Preprint.pdf

Towards Prototyping and Acceleration of Java Programs onto Intel FPGAs

Published in 2019 IEEE 27th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM), 2019

Recommended citation: M. Papadimitriou, J. Fumero, A. Stratikopoulos and C. Kotselidis. Towards Prototyping and Acceleration of Java Programs onto Intel FPGAs. In 2019 IEEE 27th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM), San Diego, CA, USA, 2019 pp. 310-310. doi: 10.1109/FCCM.2019.00051 url: https://doi.ieeecomputersociety.org/10.1109/FCCM.2019.00051

service

supervision

talks

Invited Talk - FastR-Flink: A compiler based approach for distributed computing in R

Published:

During the past few years R has become an important language for data analysis, data representation and visualization. R is a very expressive language which combines functional and dynamic aspects, with laziness and object oriented programming. However, the default Rimplementation is neither fast nor distributed, both features crucial for “big data” processing.

Invited Talk at Edinburgh University - FastR-Flink

Published:

During the past few years R has become an important language for data analysis, data representation and visualization. R is a very expressive language which combines functional and dynamic aspects, with laziness and object oriented programming. However, the default Rimplementation is neither fast nor distributed, both features crucial for “big data” processing.

Invited Talk - OpenCL Just-In-Time Compilation for Dynamic Programming Languages

Published:

In this talk we present a technique to automatically offload parts of the input program written in a dynamic language into OpenCL without any changes in the original source code. Our preliminary results show we achieve speedups of up to 150x when using the GPU (3) OpenCL JIT Compilation for Dynamic Programming Languages.

Towards Practical Heterogeneous Virtual Machines

Published:

Heterogeneous computing emerged as a means to achieve higher performance and energy efficiency. However, this trend has been accompanied by changes in software development norms that do not necessarily favour programmers. A prime example is the two most popular heterogeneous programming languages, CUDA and OpenCL, which expose several low-level features to the API making them difficult to use by non-expert users.

Invited talk at MSR - Tornado VM: A Virtual Machine for Exploiting High-Performance Heterogeneous Hardware of Java Programs

Published:

The proliferation of heterogeneous hardware in recent years means that every system we program is likely to include a mix of computing elements; each of these with different characteristics. This trend has been accompanied by changes in software development norms that do not necessarily favor programmers. A prime example is the two most popular heterogeneous programming languages, CUDA and OpenCL, which expose several low-level features to the API making them difficult to use by non-expert users.

Invited talk at ARM - Exploiting Heterogeneous Hardware from Managed Runtime Languages

Published:

The proliferation of heterogeneous hardware in recent years means that every system we program is likely to include a mix of computing elements; each of these with different characteristics. This trend has been accompanied by changes in software development norms that do not necessarily favor programmers. A prime example is the two most popular heterogeneous programming languages, CUDA and OpenCL, which expose several low-level features to the API making them difficult to use by non-expert users.

teaching

Object Oriented Programming (Java course)

Tutoring, The University of Edinburgh, 2015

I was tutoring the Introduction to Object Obriented Programming through Java to groups of 8-10 of undergraduate students during Spring 2015 and 2016. We covered an introduction to topics such as Object Oriented Programming, inheritance, Java collections, Threads, concurrency and parallelism. We also covered some material about how the Java Virtual Machine works.

youtube