
Christodoulos Stylianou, PhD
Research Engineer (CyI)Christodoulos (Chris) Stylianou joined the Computation-based Science and Technology Research Center (CaSToRC) at The Cyprus Institute (CyI) as a Research Engineer for the EuroCC2 Project. He holds an undergraduate degree in Electrical & Electronic Engineering (MEng) from Imperial College London, a Masters Degree in High Performance Computing (HPC) with Data Science (MSc) and a PhD in HPC, Computational & Data Science and Software Engineering from EPCC at The University of Edinburgh.
Chris specializes in the area of High Performance Computing and more specifically in Heterogeneous and Distributed Computing, Performance Portability, and the application of Artificial Intelligence in accelerating Sparse Linear Algebra for the next generation hardware architectures. His current research interests are around acceleration of training time via sparsification of Neural Networks. Chris is also skilled in software development, training, and fostering collaboration between academia, industry, and government with a growing interest in product management.
Research
Software Projects
Morpheus
Morpheus, is a library of sparse matrix storage formats that is designed for efficient and transparent format switching across architectures without introducing prohibitive overheads at runtime and that, at the same time, enables the straightforward addition of new storage formats without major application code changes.
The library has a functional design which separates the containers that implement the storage formats from the algorithm that implement operations such as multiplication. Each container is aware of the memory space it resides in, and the algorithms require knowledge of the execution space that they will be running in. This design allows Morpheus to target multiple heterogeneous architectures.
Morpheus is a C++ header-only library written in C++17 and makes heavy use of template and meta-programming techniques. Currently supports 6 sparse matrix storage formats (COO, CSR, DIA, ELL, HYB and HDC) and 5 backends (Serial, OpenMP, CUDA, HIP and Kokkos).
Lyncs.IO
Lyncs, is a Python API for Lattice QCD, currently under development. Lyncs aims to bring several popular libraries for Lattice QCD under a common framework. Lyncs interfaces with libraries for GPUs and CPUs in a way that can accommodate additional computing architectures as these arise, achieving the best performance for the calculations while maintaining the same high-level workflow.
lyncs_io
aims to provide an all-inclusive framework for IO in
Python. It responds to the necessity of missing tools for parallel IO and
user-friendliness in various file formats. Therefore it implements a very simple
interface with two main functionalities, load
and
save
; it supports various file formats and, where possible,
parallel IO for domain decomposed arrays. Additionally, it also implements file
formats that are common in Lattice QCD as, for instance, the
Lattice QCD Interchange Message Encapsulation (LIME).
The objectives of the package are:
- Seamlessly IO: we have tried to simplify the IO as much as possible,
without having to open files, directly specify the format or using more than
one line of code. Three main functions are provided
save(obj, filename)
for saving,obj=load(filename) for loading and
obj=head(filename) for retrieving metadata without loading data.
- Many formats supported (e.g.,
numpy
,hdf5
,tar
,lime
). The file format can be either deduced from the filename’s extension or with the option format passed as an argument to the above functions. The structure of the package is flexible enough to easily accommodate new/customized file formats as these arise. For instance we support file formats typical in lattice QCD like LIME. - Omission of extension: When saving, if the extension is omitted, the optimal file format is deduced from the data type and the extension is added to the filename. When loading, any extension is considered, i.e. filename.*, and if only one match is available, the file is loaded.
- Support for archives: In case of archives, e.g. HDF5, zip etc., the content can be accessed directly by specifying it in the path.
- Support for Parallel IO: Where possible and implemented, parallel IO is supported. This is enabled either via MPI providing a Cartesian communicator with the option comm, or via Dask with the option chunks.
Cyclone Benchmarking & Performance Automation with Reframe
Cyclone Benchmarking & Performance Automation with Reframe, is a Pyhton project where I contributed to the development of an automated benchmarking and performance evaluation framework for the Cyclone supercomputer, leveraging ReFrame, a regression testing framework tailored for high-performance computing (HPC) systems. The primary objective was to create pipelines that routinely assess system performance and operational status, particularly after maintenance or configuration changes, ensuring sustained reliability and optimal performance across heterogeneous hardware partitions.
The project involved designing and implementing three key automated pipelines. The first focused on benchmarking the various partitions on computation, communication and storage performance, utilizing tools such as HPL, HPCG, DistributedStream, BenchIO and MPI OSU to measure metrics like FLOPS, memory bandwidth, and latency. The second pipeline ensured system health by verifying node availability, compiler and library compatibility, and the operational status of GPUs and filesystems. The third pipeline benchmarked representative applications, including GROMACS, TensorFlow, and PyTorch, to evaluate real-world performance scenarios relevant to the system's user base.
Other Projects
Zephyr - A Supercomputer in a Suitcase
Zephyr is a miniaturized supercomputer designed to make High-Performance Computing (HPC) accessible for educational purposes. This compact system integrates 18 Raspberry Pi modules, emulating the functions of supercomputer nodes on a smaller scale. Each module measures 85x56x17mm and features quad-core CPUs, allowing simultaneous execution of multiple tasks.
Zephyr boasts an innovative design, housed in a custom-made transparent plexiglass case created with SolidEdge 3D CAD software. This makes it both visually appealing and functionally robust, while the transparent casing provides an educational view into its inner workings. Efficient networking is achieved through Ethernet cables and switches, forming a scalable network with all nodes operating on a single power source, simplifying energy management. Additionally, Zephyr features programmable LEDs that visually demonstrate CPU utilization, memory, temperature, and communication patterns, enhancing its educational value. Furthermore, interactive simulations such as "Aircraft Wing Design" and "Coastal Defense" highlight real-world problem-solving capabilities of HPC, inspiring learners of all ages.
Zephyr serves as a tool to demystify advanced computing technologies, promoting STEM education and fostering curiosity among youth. It was prominently showcased at the sCYence Fair 2024, captivating audiences by making supercomputing concepts engaging and relatable.
Zephyr's journey so far:
Unlocking Cyclone: A Comprehensive Guide to HPC Workflows
Unlocking Cyclone: A Comprehensive Guide to HPC Workflows is a tutorial series that I led and coordinated, designed to equip users with the knowledge and skills necessary to effectively utilize the Cyclone High-Performance Computing (HPC) system. The goal of this project was to demystify HPC workflows and address common challenges faced by researchers, developers, and newcomers working with HPC resources. The tutorials cater to a diverse audience, including researchers running simulations, Python developers optimizing workflows, and scientists utilizing HPC applications like GROMACS and OpenFOAM.
The series covers essential topics such as HPC system architecture, secure access and navigation, development tool setup, scaling Python workloads, and efficient use of Jupyter Notebooks on Cyclone. As the project lead, I coordinated the development process, ensuring the content was both comprehensive and accessible. Additionally, I contributed to the creation of several tutorials, focusing on enhancing user proficiency in job scheduling, resource management, and workflow optimization.
This project aims to improve user confidence and competence in HPC usage,
fostering best practices for resource management, and enhancing the productivity
of Cyclone's user base. The tutorials were written using MkDocs in a blend of Markdown
and HTML
.
Recent Talks & Presentations
Enhance Your Presentation Skills with your Personal AI Assistant
Optimize your workflow with AI, DiGiNN Cyprus Event
Nicosia, Cyprus, 2023
Kokkos Framework
Emerging trends in generative artificial intelligence, data analytics, and high-performance computing, EuroCC2 Training Event
Limassol, Cyprus, 2023
Optimizing Sparse Linear Algebra Through Automatic Format Selection and Machine Learning
The Eighteenth International Workshop on Automatic Performance Tuning (iWAPT)
St. Petersburgh, Florida, USA, 2023
Morpheus Unleashed: Fast Cross-Platform SpMV on Emerging Architectures
Cray User Group 2023
Helsinki, Finland, 2023
Exploiting dynamic sparse matrices for performance portable linear algebra operations
2022 International Workshop on Performance, Portability & Productivity in HPC (P3HPC)
Dallas, Texas, USA, 2022
Tutorials
Unlocking Cyclone: A Comprehensive Guide to HPC Workflows
EuroCC2 Tutorials
Nicosia, Cyprus, 2025
Optimize Your Code: Intro to Profiling for HPC
EuroCC2 Training Event
Nicosia, Cyprus, 2024
Supercomputing for All: Getting Started with HPC & AI Resources
EuroCC2 Training Event
Nicosia, Cyprus, 2024
Accelerating Generative AI with PyTorch
ISC High Performance 2024
Hamburg, Germany, 2022
Publications
Morpheus: a library for efficient runtime switching of sparse matrix storage formats
Stylianou, C., and Weiland, M.
SoftwareX
2024
An approach to performance portability through generic programming
Hadjigeorgiou, A. et al.
Euro-Par 2023: Parallel Processing Workshops
Limassol, Cyprus, 2023
Optimizing Sparse Linear Algebra Through Automatic Format Selection and Machine Learning
Stylianou, C., and Weiland, M.
The Eighteenth International Workshop on Automatic Performance Tuning (iWAPT)
St. Petersburgh, Florida, USA, 2023
Morpheus Unleashed: Fast Cross-Platform SpMV on Emerging Architectures
Stylianou, C. et al.
Cray User Group 2023
Helsinki, Finland, 2023
Exploiting dynamic sparse matrices for performance portable linear algebra operations
Stylianou, C., and Weiland, M.
2022 International Workshop on Performance, Portability & Productivity in HPC (P3HPC)
Dallas, Texas, USA, 2022
Lyncs-API: a Python API for Lattice QCD applications
Bacchio, S., Finkenrath, J., and Stylianou, C.
The 38th International Symposium on Lattice Field Theory
Bonn, Germany, 2022
Teaching
Programming Languages
2nd Year Undergraduate Course
European University Cyprus (EUC)
SS24, SS25
Parallel Computing
4th Year Undergraduate Course
European University Cyprus (EUC)
AW24
Computer Architecture & Organization
2nd Year Undergraduate Course
European University Cyprus (EUC)
AW24 (E-learning)
Advanced Computer Architecture & Organization
3rd Year Undergraduate Course
European University Cyprus (EUC)
AW24
Compiler Design
4th Year Undergraduate Course
European University Cyprus (EUC)
SS25
Resources
CaSToRC
The Cyprus Institute (CyI)
20 Konstantinou Kavafi Street
Aglantzia, Nicosia
Cyprus, 2121
+357 22 208 700
GoogleScholar
c.stylianou@cyi.ac.cy
[PDF]