This page lists some of my academic and hobby porjects. All of these (and maybe more) can be found out on my GitHub repository, here.

Abalone-Game

Abalone is a board game of class "2-Person Zero-Sum Game with Complete Information". This repository contains 4 different search strategies for a competitive Abalone gameplay.

Fluidchen-EM

Fluidchen EM is a Computational Fluid Dynamics Solver capable of solving a wide range of problems. The whole code is parallelized using MPI and is compatible with preCICE for coupling with other solvers.

C++ Performance Benchmarks

C++ is a powerful language usually preferred over other languages because of its potential to exploit hardware resources to extract maximum performance. However, its vast range of features should be used suitably to achieve the intended performance. In this repository, I have comprehensively evaluated the performance aspects of Modern C++ (C++11 and later), particularly focusing on the programming practices.

Parallelized Jacobi Solver

The code implements the Jacobi method on a discretized 5-point stencil with shared, distributed and hybrid memory parallelism. OpenMP and MPI are supported.

DeepBio

DeepBio is a tool that helps to create biographies for older people. The app creates a biography based on a list of questions with the use of GPT3 from OpenAi. The application was created during the TUM.ai Makeathon in April 2022.

MPI Ping Pong

This code visualizes an MPI connection by sending a message from node A to node B and back (a so called ping-pong), while using the blocking send and receive constructs.

wgetD

wgetD is a TCP based application for sending and receiving HTTP requests. It is a simplified version of the linux wget application.

UDP Server and Client

UDP based server and clients for communicating messages. The multithreaded version is pthread based. The repository includes a sequential as well as a pthread-based multithreaded version.