Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Draft PR] Graphcore backend support. #1659

Open
wants to merge 77 commits into
base: main
Choose a base branch
from

Commits on Jul 18, 2024

  1. cpu, gpu basic tests

    Sameeranjoshi committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    9ea89e7 View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2024

  1. add cpu array test

    Sameeranjoshi committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    46a3c07 View commit details
    Browse the repository at this point in the history

Commits on Jul 20, 2024

  1. add optimization, helper file-check_external_library_used.py, this is…

    … from the documentation online to check what library is present
    Sameeranjoshi committed Jul 20, 2024
    Configuration menu
    Copy the full SHA
    809048c View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2024

  1. Configuration menu
    Copy the full SHA
    5c68cce View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2024

  1. Configuration menu
    Copy the full SHA
    9a210f4 View commit details
    Browse the repository at this point in the history
  2. Tried using a custom codegen following the tutorial guide on dace web…

    …page, this commit didn't work. They also have something similar - adding Tensor core backend from Nvidia as an external codegen
    Sameeranjoshi committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    8763d54 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e5ae4ee View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a727cb9 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2024

  1. Configuration menu
    Copy the full SHA
    a575ef8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5934537 View commit details
    Browse the repository at this point in the history
  3. MPI basic test

    Sameeranjoshi committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    01c8bf5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    429737d View commit details
    Browse the repository at this point in the history
  5. Revert "Implement the LoopyLoop custom codegen on Map, will revert in…

    … the next commit"
    
    This reverts commit 429737d.
    Sameeranjoshi committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    77a7388 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    fa78938 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d1af971 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2024

  1. Configuration menu
    Copy the full SHA
    c3171fb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ed6f63e View commit details
    Browse the repository at this point in the history
  3. some debug comments, found control_flow_tree code, ipu.py has a lot o…

    …f experimental changes which try to understand the SDFGIR and the changes to make IPUCodeGen registry into the frame_targets.
    Sameeranjoshi committed Jul 26, 2024
    Configuration menu
    Copy the full SHA
    c30f1f2 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2024

  1. 1. Fix IPUCodegen {used_targets}-{frame} error.

    	The fix was to call 'self._frame.generate_state' recursively from ipu.generate_state. This goes into framecode.py and
    	calls the recursive function which traverses substates and calls the codegen respectively.
    	Based on this learning a point to note is to remember to call the recursive functions inside
    	generate_*() functions.
    	example is 'self._dispatcher.dispatch_subgraph' in 'generate_scope'.
    
    2. Fix ipu/ipu 2 folders were created recursively.
    	Fix - Remove 'target_type='ipu' from CodeObject.
    Sameeranjoshi committed Jul 27, 2024
    Configuration menu
    Copy the full SHA
    78f19af View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2024

  1. mpi_scalar.py, some debug comments, now move on to cpu only, don't lo…

    …ok right now into GPU/MPI
    Sameeranjoshi committed Jul 30, 2024
    Configuration menu
    Copy the full SHA
    af38f47 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    908a0f9 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2024

  1. Configuration menu
    Copy the full SHA
    73fc0bb View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2024

  1. [WIP] Register array, copy, and add some code for generating the head…

    …ers and the IPUDevice, this goes in __init__/exit part and not in the SDFG
    Sameeranjoshi committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    c997147 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2024

  1. Configuration menu
    Copy the full SHA
    01d0658 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    afbbdd1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    cff27f4 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2024

  1. Configuration menu
    Copy the full SHA
    3715101 View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2024

  1. Fix the issue with checking if the device targer is IPU.

    Code snippet below checks if the file is frame(.cpp vs .cu) if so
    matches target and dumps the headers.
    
    ```
    if backend == 'frame':  #on cpu.cpp file
    +            for target in self.targets:
    +                if target.target_name == 'ipu':
    ```
    
    Some cosmetic changes removed the prints.
    Sameeranjoshi committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    c9c64dd View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2024

  1. Comment the IPU type doesn't work as needs frontend support probably,…

    … add more handcrafted tests, remove the header generation from framecode.py and add into ipu.py
    Sameeranjoshi committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    30178f0 View commit details
    Browse the repository at this point in the history
  2. Copied codegen from cpu.py, tweaked it and understood the structure o…

    …f how cpu codegen works for a tasklet
    Sameeranjoshi committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    82d193d View commit details
    Browse the repository at this point in the history
  3. Add IPU in dtypes.py

    Sameeranjoshi committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    8416d82 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6a254c3 View commit details
    Browse the repository at this point in the history
  5. Revert "Add IPU in dtypes.py"

    This reverts commit 8416d82.
    Sameeranjoshi committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    3d6e96f View commit details
    Browse the repository at this point in the history
  6. Revert "Use IPU from StorageType in sdfg.add_scalar"

    This reverts commit 6a254c3.
    Sameeranjoshi committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    6efc81e View commit details
    Browse the repository at this point in the history
  7. Replace pre_tasklet with generate_read, former comes from cpu.py late…

    …r is from sve/codegen.py the later is much readable and simpler to understand
    Sameeranjoshi committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    cc02d9b View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2024

  1. Configuration menu
    Copy the full SHA
    0356005 View commit details
    Browse the repository at this point in the history

Commits on Aug 24, 2024

  1. Created the most simplest code for codegen of allocate_array and disp…

    …atch_copy.
    
    Allocate memory on device/host
    Copy memory from one to another
    
    Used Storage=IPU_Memory
    Sameeranjoshi committed Aug 24, 2024
    Configuration menu
    Copy the full SHA
    5596ef8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2a424f3 View commit details
    Browse the repository at this point in the history
  3. Added

    1. register_array_dispatcher -> allocate_array/deallocate_array
    2. register_copy_dispatcher -> copy_memory
    
    Notes: using ipu_storage vs gpu_storage breaks.
    links with last 2 commits
    Sameeranjoshi committed Aug 24, 2024
    Configuration menu
    Copy the full SHA
    cbfdc42 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    623ab3b View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2024

  1. Configuration menu
    Copy the full SHA
    6cd24ea View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e6610da View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a426141 View commit details
    Browse the repository at this point in the history
  4. Implement setTileMapping using 'mapdataontile'

    Intelligently maps the data on tiles based on scalar/array nodes and maps to
    setTileMapping
    
    1. Mapping a vertex will also be similar
    2. This the not the most efficient mapping, currently arrays are just mapped equally on 10 tiles.
    3. Add new test - simplified
    Sameeranjoshi committed Aug 25, 2024
    Configuration menu
    Copy the full SHA
    89722c3 View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2024

  1. Add poplar as a library

    Sameeranjoshi committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    06d5dc3 View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2024

  1. 1. Fix compilations issues from the previous commit.

    2. Modify test to be "FLOAT" and not "DOUBLE"
    3. Add new interface file which helps to add #include<> vs #include "".
    Sameeranjoshi committed Aug 29, 2024
    Configuration menu
    Copy the full SHA
    2961353 View commit details
    Browse the repository at this point in the history
  2. Add missing ;

    Sameeranjoshi committed Aug 29, 2024
    Configuration menu
    Copy the full SHA
    75821d7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1bb6ead View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3b47aae View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7ceb866 View commit details
    Browse the repository at this point in the history

Commits on Aug 31, 2024

  1. Fix 1. Compilation error (C++14/C++11). 2. Fix headers issue

     during compilation - extra ../ present 3. Fix libraries issue partially,
     almost there after this fix
    
     Fix IPUConfig.cmake, ipu-config.cmake not found error, was
     wrongly using IPU but poplar libraries start with poplar
    Sameeranjoshi committed Aug 31, 2024
    Configuration menu
    Copy the full SHA
    3fa7a55 View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2024

  1. Add arguments to the library, still we are not able to connect the in…

    …puts to the library and the inputs to SDFG, seems like we need to dig into some other ways of allocation of variables and such details.
    Sameeranjoshi committed Sep 1, 2024
    Configuration menu
    Copy the full SHA
    63fad92 View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2024

  1. Configuration menu
    Copy the full SHA
    3bae655 View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2024

  1. changes to test, ipu_test is now the new base, added state dump, next…

    … one generates the golden code for poplar.
    Sameeranjoshi committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    15d8023 View commit details
    Browse the repository at this point in the history
  2. 1. Insert all the golden file code from Poplar example.

    2. In the Host/ side the pipeline + functions are present.
    3. The pipeline is not yet set, next patch might set it.
    4. Lots of bugs still
    5. Cerete Host/ Device/ files along with cpu/
    Sameeranjoshi committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    5207d2d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f6ac62f View commit details
    Browse the repository at this point in the history
  4. Revert "Add arguments to the library, still we are not able to connec…

    …t the inputs to the library and the inputs to SDFG, seems like we need to dig into some other ways of allocation of variables and such details."
    
    Reverting this as this is making it hard to understand a node as of now.
    
    This reverts commit 63fad92.
    Sameeranjoshi committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    e563d47 View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2024

  1. Add library node, register it, modify test for the same, goal is to h…

    …ave IPUCodegen + library codegen
    
    together.
    Sameeranjoshi committed Sep 15, 2024
    Configuration menu
    Copy the full SHA
    940f6bc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2ffc0c9 View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2024

  1. Configuration menu
    Copy the full SHA
    ad13cfc View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2024

  1. Turn off the node dispatcher and generate a state using some code fro…

    …m fpga and cuda. This creates a codegen which dumps both library + nodes
    Sameeranjoshi committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    6d5189f View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2024

  1. Revert "Supress the building process"

    This reverts commit 2ffc0c9.
    Sameeranjoshi committed Sep 20, 2024
    Configuration menu
    Copy the full SHA
    e3193c4 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2024

  1. Move the headers to a common runtime include/ folder dace/runtime/inc…

    …lude, debugging issue on real IPU machine, pushing incomplete changes"
    Sameeranjoshi committed Sep 30, 2024
    Configuration menu
    Copy the full SHA
    6ff38a6 View commit details
    Browse the repository at this point in the history
  2. some temporary changes

    Sameeran joshi committed Sep 30, 2024
    Configuration menu
    Copy the full SHA
    ba32abe View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    eeaa7d1 View commit details
    Browse the repository at this point in the history
  4. Fix bug - wasn't generating proper kernel names, was not generic, tes…

    …ted on another testcase
    Sameeran joshi committed Sep 30, 2024
    Configuration menu
    Copy the full SHA
    1a21f8e View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2024

  1. Support addVariables() and mapLinearlyOnTiles(), currently works only…

    … for transients and scope must be inside state
    Sameeran joshi committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    9290acd View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2024

  1. Configuration menu
    Copy the full SHA
    d1971bd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    835bd81 View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2024

  1. Configuration menu
    Copy the full SHA
    0e43bb6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1164d69 View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2024

  1. Configuration menu
    Copy the full SHA
    530e298 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2024

  1. Configuration menu
    Copy the full SHA
    1334015 View commit details
    Browse the repository at this point in the history
  2. Remove prints

    Sameeranjoshi committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    7e54d70 View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2024

  1. Configuration menu
    Copy the full SHA
    3b1f4c7 View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2024

  1. Configuration menu
    Copy the full SHA
    7537466 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6db5588 View commit details
    Browse the repository at this point in the history