ARM-software / workload-automation

A framework for automating workload execution and measurement collection on ARM devices.
Apache License 2.0
151 stars 120 forks source link

Meabo, deepbench binary for linux #1270

Open NEELAKANTAPPA-M opened 1 week ago

NEELAKANTAPPA-M commented 1 week ago

We are running above two workloads for a linux target. And we are getting binary not found error for these two workloads. Also when I checked source code of WA, I didn't find any binary in wa/workloads/deepbench or wa/workloads/meabo

Need help in this case how to execute these workloads? Should we add binary ourselves? Will that be enough or any further changes in code is needed?

marcbonnici commented 1 week ago

Hi,

Yes you should be able to compile the binaries from the respective projects [1] and [2] and place the resultant binary files in your dependencies directory [3] for WA to discover without any code changes.

For the deepbench workload we do have some reference binaries available in our assets repository [4] that can be downloaded, or WA can be configured to try and retrieve these files automatically by setting the remote_assets_url: https://raw.githubusercontent.com/ARM-software/workload-automation-assets/master/dependencies parameter in your agenda or config file [5].

For the meabo workload, this binary would need to be compiled for your target device and placed in $WA_USER_DIRECTORY/dependencies/<workload> typically ~/.workload_automation/dependencies/meabo/.

Please let me know if you have any further questions.

[1] https://github.com/baidu-research/DeepBench?tab=readme-ov-file#arm-benchmarks [2] https://github.com/ARM-software/meabo [3] https://workload-automation.readthedocs.io/en/latest/user_information.html#optional-post-installation [4] https://github.com/ARM-software/workload-automation-assets/tree/master/dependencies/deepbench [5] https://workload-automation.readthedocs.io/en/latest/faq.html?highlight=remote_assets_url#q-i-receive-the-error-workload-file-file-name-file-could-not-be-found

NEELAKANTAPPA-M commented 1 week ago

Hi Marc Bonnici,

Thanks for the detailed response.

For the deepbench, I had copied the binaries to the dependencies directory. When I execute the workload getting error like below.

ValueError(invalid literal for int() with base 10: 'invalid')

Similar error was observed for dhrystone workload as well. Common in both the cases is self.target.killall(self.exe_name)

If I comment this line in the workloads/deepbench/__init__.py, workload works fine.

Any idea/suggestions for this would be appreciated.

marcbonnici commented 1 week ago

It looks like something is going wrong when it is attempting to clean up ay previous invocations of the workload executable.

Would you be able to provide a run.log to see the exact command that is going wrong?

Also do you know which versions of WA / devlib you are using / are you using the last release or are you using the latest master branch on github?