Skip to content

[Deeploy] add support for Deeploy as a dependency#9

Draft
marchioa wants to merge 3 commits into
pulp-platform:ad/allocatorfrom
FondazioneChipsIT:am/deploy
Draft

[Deeploy] add support for Deeploy as a dependency#9
marchioa wants to merge 3 commits into
pulp-platform:ad/allocatorfrom
FondazioneChipsIT:am/deploy

Conversation

@marchioa

@marchioa marchioa commented Mar 19, 2026

Copy link
Copy Markdown
Contributor

Add support for Deeploy as a dependency.

I add a folder deployment to contain everything regarding the deployment except for the folder kernels that contains the C implementation of the basic operators. In deployment, you find the definition of the Deeploy target for MAGIA, a test folder (now inlcuding the adder only), and a python script that generate the C code implementing one of the available tests.

The generated code is placed in the test folder exactly as the other magia-sdk tests so that it shares the same building and running workflow. The generated code is patched to deal with the missing malloc.

Code generation, build, and run are automatized with a make target deploy (e.g., make deploy test=adder platform=gvsoc).

Thanks to the new file pyproject.toml, GVSoC and Deeploy deopendencies can be installed by installing the folder as a python package pip install -e ..
At now Deeploy is not cloned but directly installed from PyPI. This solution is fine as long as we do not need new features of Deeploy not available in the latest release.

file added:

  • pyproject.toml # allow to install dependencies as a python package
  • kernels/ # implements operators kernels to be called by the generated code
  • deployment/ # contains whatever regards the deployment
    • MagiaDeeployTarget/ # Python files that define the Deeploy target for Magia
    • tests/ # Here are the tests as defined in Deeploy
    • generate.py # Python script that uses Deeploy to generate the code implementing a test
    • test.c # common main for all Deeploy tests

file changed:

  • .gitignore # add Python files and reorganize by category
  • Makefile # add LLVM and deploy targets
  • CMakeLists.txt # add kernels as a library
  • targets/magia_v2/link.ld # fix heap
  • targets/magia_v2/src/crt0.S # fix .bss clear

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant