Simple File System for Nvidia and AMD GPU Code Generation Testing
2. Project Description and Goals

   -

   This project aims to enhance the GCC testing framework for GPU-targeted
   code generation by developing a simple "in-memory" file system or an RPC
   mechanism for devices to access host files. These features are necessary to
   support file operations in GPU test cases that currently fail due to the
   lack of I/O support.
   -

   Key Deliverables:
   -

      Implement a volatile, in-memory file system (initially empty or with
      preloaded files).
      -

      Extend test harness functionality to handle additional test case
      files.
      -

      Investigate and, if feasible, implement an RPC mechanism to enable
      device-host file interactions.
      -

      Test and document the changes for seamless integration into the GCC
      framework.

3. Why This Project is Worthwhile

   -

   Testing infrastructure is critical for ensuring the robustness of
   GPU-targeted code generation, especially in HPC workloads where GPUs
   dominate. By addressing this gap in GCC, the project enhances its utility
   for developers using Nvidia and AMD GPUs in high-performance computing.
   -

   With the growing adoption of OpenACC/OpenMP offloading and the rise of
   GPU-based workflows, this improvement ensures GCC remains a competitive and
   reliable compiler for modern heterogeneous hardware

4. Introduction and Skills

   -

   Who I Am:
   My name is Ambika Sharan, and I am a Computer Science and Data Science
   student at the University of Wisconsin-Madison, graduating in December
   2025. My primary interests lie in high-performance computing (HPC), GPU
   programming, and compiler optimization.
   -

   Relevant Skills:
   -

      Programming Languages: Proficient in C, C++, Python, and Bash.
      -

      GPU Programming: Experience with CUDA and OpenMP.
      -

      Linux Systems: Advanced knowledge of Linux-based systems and
      compiling software from source.
      -

      Research Experience: Conducted AI/ML research with Wisconsin Science
      and Computing Emerging Research Stars (WISCERS).
      -

      Internship Experience: At AMD, contributed to AI/ML initiatives
      involving performance engineering and benchmarking.
      -

   Why I’m a Good Fit:
   My background in HPC, coupled with my experience in low-level GPU
   programming and Linux-based workflows, equips me to address the technical
   challenges of this project. My ability to work collaboratively with diverse
   teams and adapt quickly to new tools and environments ensures I can
   contribute effectively to the GCC community.

5. Preparation and Research

   -

   Current Progress:
   -

      Engaged with the GCC community on mailing lists and IRC to clarify
      technical details.
      -

      Reviewed the paper "A Modern Compiler Infrastructure for OpenMP"
      <https://arxiv.org/pdf/2110.10151.pdf> and relevant GCC documentation.
      -

      Built and tested GCC on my local machine, gaining familiarity with
      its codebase and test harness.
      -

   Next Steps:
   -

      Continue engaging with the community for feedback on this application.
      -

      Finalize the design for the in-memory file system or RPC mechanism,
      ensuring alignment with GCC’s existing architecture.

Reply via email to