Research Intern, Google Summer of Code 2022 former contributor
email: anubhabghosh.me@gmail.com
Education: Computer Science and Engineering, Indian Institute of Information Technology, Kalyani, India
Completed project:
WebAssembly Support for clang-repl
WebAssembly is a technology that allows Javascript engines to execute
compiled bytecode at close to native performance. The goal of the
project is to add WebAssembly output support to clang-repl, a C++
interpreter so it can run and execute code inside a web browser. This
can be used through a tool like JupyterLite to provide in-browser C++
notebooks.
Project Proposal: URL
Project Reports: Final Report
Mentors: Vassil Vassilev, Alexander Penev
Completed project:
Design and Develop a CUDA engine for clang-repl
CUDA is a GPGPU platform and API targeted towards NVIDIA GPUs that gives
access to compute elements of the GPU through standard programming
languages like C++. The goal of the project is to implement CUDA support
for clang-repl that will be useful for interpreting CUDA C++ code. This
would possibly require clang-repl to distinguish between host and device
code and separately compile device code to PTX.
Project Proposal: URL
Mentors: Vassil Vassilev, David Lange
Completed project:
Shared Memory Based JITLink Memory Manager
When a separate executor process is used with LLVM JIT, the generated
code needs to be transferred to the executor process which is done by
the JITLinkMemoryManager. The current implementation uses
ExecutorProcessControl API (an RPC scheme) to send the generated code
which goes through pipes or network sockets. The goal of the project is
to transfer it through an operating system provided shared memory
regions for better performance, when both the JIT process and the
executor process are sharing the same underlying physical memory. It
should be done by allocating large chunks of memory and distributing it
to reduce memory allocation and inter process communication overheads.
Project Proposal: URL
Project Reports: Final Report|Blog post
Mentors: Vassil Vassilev, Stefan Gränitz, Lang Hames