Parinaz Barakhshan, PhD Projects

A journey of a thousand miles must begin with a single step. 


XSEDE Student Campus Champion, HPC Team

Parianz Barakhshan        (hear name)

PhD Candidate and Research Assistance @University of Delaware, 

Department of Electrical and Computer Engineering,

Evans Hall, 139 The Green, Newark, DE 19716

Parinazb [at] udel [dot] edu


Member of:

Conferences Attended:

Planning Committee:


Student Volunteer:

  • PEARC19





I am a third-year Ph.D. candidate and Research Assistant at the University of Delaware, Department of Electrical and Computer Engineering.

I have always loved learning, growing, developing, and challenging myself to contribute to something significant. The whole point of learning more is to be able to make a difference in the world. My purpose is to help the world run better.

My research interests include:

    • optimizing compilers,
    • programming methodologies,
    • source-to-source Translators,
    • performance evaluation for HPC,
    • best practices and tools in computational and data-intensive research,
    • using ML, deep learning, and NLP to solve problems that cannot be solved in traditional ways.

I am a part of the HPC Lab at UD headed by Prof. Rudi Eigenmann. In this team, we have been running many experiments through the Clusters provided by UD like Caviness and Darwin. We create software tools to support the larger community involved in HPC research. We are interested in providing support to domain scientists with developing, optimizing, and running their Computational and Data-intensive(CDI) applications to advance their research through HPC. 

I am interested in applications of and application software for GPUs, CPUs, or other advanced hardware; optimization or parallelization of existing software; workflow management systems; the utilization of the cloud and on-premise HPC resources; and applications of machine learning techniques.

I am involved in different projects that are explained below:


Research Topic: iCetus, An Interactive Parallelizing Compiler


Today’s computers are all Multicores. With parallelization techniques, we can convert sequential code into multi-threaded and/or vectorized code to use the power of multiple processors simultaneously in a modern shared-memory Architecture. 


To develop a tool that allows users to apply parallelization techniques in an interactive way for users with different expertise. While the tool can parallelize the code/ parts of the code in a fully automatic format for Non-expert users,  Power-users can finely steer the optimization process through the tool menus to get what they want from the tool.

Compiler Engine, Cetus

The underneath compiler infrastructure used in this project is Cetus. Cetus was previously developed at Purdue University. Cetus provides the source-to-source compiler infrastructure for C programs. A source-to-source C parallelizing compiler (S2S compiler), is a type of translator that takes the source code of a program written in C as its input and produces the parallelized version of the code in the same programming language using OpenMP directives. Cetus does it all by executing a set of analyses and transformations on the code. It identifies parts of the program that can be parallelized and adds related OpenMP directives to those sections. Then writes the generated parallel code into a file.

If the compiler supports the OpenMP library then there are advantages in using the OpenMP directives for parallelizing the source code versus the binary version of the parallel code that some are mentioned here:

  • Portable multithreading code
  • performance portability
  • Incremental parallelism
  • Unified code for both serial and parallel applications
  • Original (serial) code statements need not, in general, be modified when parallelized with OpenMP.
  • Both coarse-grained and fine-grained parallelism is possible.
  • Can be used on various accelerators such as GPGPU and FPGAs.

If it is misused there are disadvantages like:

  • Risk of introducing difficult to debug synchronization bugs and race conditions.
  • High chance of accidentally writing false sharing code.

Cetus: A Source-to-Source Compiler Infrastructure for C Programs

Compiler engine:

Project Status: Active



The Xpert NetworkThe community you want to join to get the support you need in developing, optimizing, and running CDI applications.

The Xpert Network is one of several projects in the US that aim to improve the cyberinfrastructure ecosystem by enhancing the skills, effectiveness, and professional organization of those who assist CDI domain researchers. We call these assistants Xperts. Other efforts may call them research software engineers, research facilitators, or computational & data science assistants.


Because Computational and Data-intensive (CDI) research and engineering methods are key to success, and Domain scientists and engineers need help developing, optimizing and running CDI applications, we are motivated to create synergy among these groups (both individuals and pools) and improving their toolbox which will increase the productivity of CDI science and engineering.


to advance science by increasing the productivity of researchers who use computational and data-intensive (CDI) methods for pushing the frontiers by developing a network for the exchange of best practices in expert assistance and in the creation of supporting tool environments.

You can be a

  • domain Scientist or
  • an Xpert who gives direct assistance to CDI researchers or
  • a tool developer that facilitates CDI application development.

This is the platform to talk to your peers about:

  • the best practices you are applying in your research team,
  • the tools you are using,
  • the challenges you are facing, or
  • your open problems.

And get help or the feedback of those in the field.

Lots of activities are happening in this network that can be helpful and informative to people involved in the CDI research. 

Project Status: Active



Online portal for high-precision atomic physics data and computation


To create an online portal for high-precision atomic physics data and computation that will provide a variety of services to address the needs of the widest possible community of users. The first version of the portal provides a wide range of transition matrix elements, static, and dynamic polarizabilities for several atoms and ions. The data are calculated using a high-precision state-of-the-art coupled-cluster (CC) method or a hybrid method that combines configuration interaction and CC. The next stages of the project will include more complicated systems and capabilities to compute atomic properties on-demand via the portal.

This is a collaborative project with the physics department of UD.

Project Status: Active



AutoTuner for Cetus Compiler


To create an automatic tuning program written in a bash script that utilizes the Cetus source-to-source compiler for running different combinations of optimization options on top of  NAS Parallel Benchmark Applications. We have utilized the UD Caviness Cluster for compiling and running this Computational and Data-intensive program. This project aims to check the dependency of different parallelization parameters and their effect on different Benchmark applications.

Benchmark: NAS Parallel Benchmarks

Cetus: A Source-to-Source Compiler Infrastructure for C Programs

Project Status: In process of Producing and analyzing data. 



  1. Parinaz Barakhshan, Rudolf Eigenmann (March 2019), The Xpert Network (version 1.0). University of Delaware, Newark, DE, USA. 
  2. Barakhshan, Parinaz, and Rudolf Eigenmann (February 2021). Exchanging Best Practices and Tools for Supporting Computational and Data-Intensive Research, The Xpert Network. ArXiv, sent to PEARC2022 for publication, DOI:
  3. Parinaz Barakhshan, Adam Marrs, Bindiya Arora, Rudolf Eigenmann, Marianna S. Safronova (April 2021), Portal for High-Precision Atomic Data and Computation (version 1.0). University of Delaware, Newark, DE, USA. Website:
  4. Parinaz Barakhshan, Rudolf Eigenmann ( October 2021), iCetus: A Semi-automatic Parallel Programming Assistant. Languages and Compilers for Parallel Computing, Springer, Volume 13181 of the Lecture Notes in Computer Science series, DOI:
  5. Akshay Bhosale, Parinaz Barakhshan, Miguel Romero Rosas, Rudolf Eigenmann (March 2022), Automatic and Interactive Program Parallelization Using the Cetus Source to Source Compiler Infrastructure v2.0. MDPI Electronics 2022, Volume 11, Issue 5, 809, DOI:
  6. Parinaz Barakhshan, Rudolf Eigenmann, Marianna Safronova, Bindiya Arora (April 2022), Portal for High-Precision Atomic Data and Computation, (version 2.0), Website:
  7. Parinaz Barakhshan, Rudolf Eigenmann (July 2022), Exchanging Best Practices for Supporting Computational and Data-Intensive Research, The Xpert Network. PEARC22 Conference, DOI:
  8. Parinaz Barakhshan, Rudolf Eigenmann, Bindiya Arora, Marianna S. Safronova. (2022, September 17). Application of Software Engineering in Building the Portal for High-Precision Atomic Data and Computation, DOI:


1. Parinaz Barakhshan and Rudolf Eigenmann (2021), The 34th International Workshop on Languages and Compilers for Parallel Computing (LCPC21), iCetus: Interactive Source-to-Source Parallelization tool.

2. Parinaz Barakhshan, Rudolf Eigenmann, Marianna Safronova, Bindiya Arora (2021), Gateways, Portal for High-Precision Atomic Data and Computation.

3. Parinaz Barakhshan and Rudolf Eigenmann (2022), Campus Champion Community Chat, Best practices for computational and data-intensive (CDI) research.

4. Parinaz Barakhshan and Rudolf Eigenmann (2022), PEARC’22, Exchanging Best Practices for Supporting Computational and Data-Intensive Research.