Edge SpAIce CERN Technical Meeting

Europe/Zurich
42/R-001 (CERN)

42/R-001

CERN

10
Show room on map
Zoom Meeting ID
63468087547
Host
Sioni Paris Summers
Useful links
Join via phone
Zoom URL
    • 10:00 11:00
      Updates 1h
      Speakers: Nicolo Ghielmetti (CERN), Noemi D'Abbondanza (Sapienza Universita e INFN, Roma I (IT)), Sioni Paris Summers (CERN), Stylianos Tzelepis (National Technical Univ. of Athens (GR))

      Nicolo's updates

      • Edge SpAIce Gitlab Pipeline:
        • 4 stages implemented:
          • check: test if the commit come from edge-spaice branch, otherwise abort the execution of the pipeline
          • fetch: retrieve QONNX models from the submodule edge-spaice-models which have to be tested in the pipeline. Generated QONNX channels-first models as artifacts.
          • convert: transform the QONNX models in channels-last format and check whether the modification creates any numerical mismatch. Generate QONNX channels-last models as artifacts.
          • generate: produce hls4ml models from the QONNX channels-last models, check whether there are mismatches between hls4ml and QONNX predictions. Generate some images as artifacts
        • The pipeline is triggered everytime that:
          • github.com/nghielme/hls4ml@edge-spaice receive a push
          • github.com/nghielme/QONNX@edge-spaice receive a push
          • gitlab.cern.ch/edge-spaice/edge-spaice-pipeline@master receive a push
          • gitlab.cern.ch/edge-spaice/edge-spaice-models@master receive a push
        • Nicolas has now access to the pipeline and can push the new models directly into edge-spaice-models 
        • To be implemented:
          • Execute the pipeline in parallel for each fetched model: parallel:matrix require an array of string for the parameters, no evaluation can be executed before running the pipeline
          • Add build stage in which the hls4ml generated model is built using vitis_hls and vivado 

       

      • Idea to discuss: profile the weights and avoid to repeat the same values multiple times across different layers. 
        For example,
        • with 4 bits only 25 - 1 = 31 different values can exist
        • with 8 bits, 29 - 1 = 511
          Each layer uses pointers to a central common storage of ap_fixed<> values to represent the weights, and need to know the scale of the value

       

       

      Stelios' Updates

      • Vladimir to review the open PRs soon
      • Conferences->check shared codimd
      • Gitlab wikis in progress
      • PixESL
        • meeting on Thursday
        • Need ROOT to get the clustered data
        • presentation