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

EMB2.0: Update python build scripts #192

Open
3 of 4 tasks
I-mikan-I opened this issue Mar 4, 2024 · 1 comment
Open
3 of 4 tasks

EMB2.0: Update python build scripts #192

I-mikan-I opened this issue Mar 4, 2024 · 1 comment
Assignees
Milestone

Comments

@I-mikan-I
Copy link
Contributor

I-mikan-I commented Mar 4, 2024

For embench-iot 2.0 we discussed that we would like to modernize/update the python build scripts.
@wallento wanted to take a look at it if I'm correct.

Some things that we could address:

  • change the --target-module speed benchmarking architecture.
    • It might be better to use callbacks/a more flexible approach that doesn't rely on a user-constructed shell command.
  • use a more declarative framework such as doit
  • reduce usage of global data/variables
  • update the benchmark size computation
    • right now, the size is computed via hardcoded section names, however, some sections aren't accounted for: e.g. .eh_frame, .got, .init, .plt, maybe we should instead sum up all MemSiz fields of all segments that get loaded?
@I-mikan-I
Copy link
Contributor Author

Quick update:

  • building now uses scons and a simpler/flat configuration strucure that utilizes the command line more.
  • the size benchmarks now only work on ELF (no macho on embedded devices) and instead uses section flags to associate sections with metrics.
  • the speed benchmark now uses a simpler/more abstract interface to user modules

@jeremybennett i tried install lief on Ubuntu using apt install python3 python3-pip && pip3 install lief and it seemed to work. Are you sure we need to swap out the elf parsing library? I couldn't replicate the problem with an Ubuntu install myself.

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

No branches or pull requests

3 participants