These are the practical exercises for the xDSL introduction tutorial, where we have the following directories
- one is where participants will obtain an overview of building the IR, compiling, and executing for a simple Hello World Python example.
- two is where we get more in-depth into the details of the dialects and transformations as we add support for the Python For construct, supporting loops in our simple Python compiler using the scf.for operation.
- three is where we leverage threaded parallelism via OpenMP and vectorisation by transforming our for loop into an scf.parallel operation and then use existihg MLIR transformations to lower to the omp or vector dialects.
- src contains the source code (dialect, transformations, and tinypy_opt tool) that will be used throughout these exercises. If you are participating in one of our organised tutorials then this will all be preinstalled for you to use.
- general contains general instructions for accessing our machines and/or installing locally
Details about how to access your account on ARCHER2 and set up the environment that we will need for these practicals can be found on the ARCHER2 setup instructions page. If you are undertaking these tutorials locally then you can view the local setup instructions. All exercises have been tested with version 0.12.1 of xDSL and LLVM 16.