Ajax-Light / GSoC-cernhsf-final

SYCL testing code for GSoC 2022

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SYCL Profiling and Testing notes

This repo includes Benchmarking/Testing code for the SYCL-ported IslandClusterAlgorithm

Issues

At the time of writing, the following issues prevent proper profiling of the SYCL code:

  • Intel VTune does not work with Python (used by gaudirun.py) inside a container
  • There are plans to move from Gaudi to JANA2 for algorithm execution

Considering the above, we have decided to first rewrite the Algorithm as functionals, then proceed to profile it. Based on the profile, the algorithm is rewritten in SYCL and changes are pushed to the upstream Juggler repo.

Directory Structure

  1. Source code (src):

    a. CalClustering.cpp contains the Main function

    b. CalorimeterIslandCluster.cpp is the Island Cluster Algorithm which has been separated into functionals

    c. AlgoHeaders.h contains Class definitions for the algorithms, Gaudi's Units and Properties struct

    i. Misc Files:

    • Makefile has a target cc which invokes the clustering algorithm. Build using make cc
    • notes.txt contains notes regarding the build process and issues encountered during setting up the build system. Refer this when program execution fails.
  2. Reports:

About

SYCL testing code for GSoC 2022


Languages

Language:C++ 98.0%Language:Makefile 2.0%