-
Notifications
You must be signed in to change notification settings - Fork 54
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
Simulate AES from MachSuite using Aladdin #7
Comments
Hi @liangwang , great to hear from you! We have been using Aladdin simulating MachSuite benchmarks for a while, so it's definitely doable. The issues that you run into can be solved with the following config file: (I'll explain why it's the case in a minute.) cycle_time,6 First, LLVM-Tracer doesn't automatically trace the sub functions. In the aes example, although we have already declared that WORKLOAD is aes256_encrypt_ecb, we still need to declare the rest of functions that aes256_encrypt_ecb calls to get a complete trace. When we set the WORKLOAD environment, we need to list all the functions that we want to track, basically all the functions that we want to build accelerators for, and separate them by comma, e.g., export WORKLOAD=aes256_encrypt_ecb,aes_subBytes,aes_addRoundKey,aes_addRoundKey_cpy,... Second, on rcon, because it's used as a pointer in the code example, in the LLVM IR trace, accessing rcon is treated as memory references. That's why we got the Aladdin error msg that rcon is unknown. To solve that, we can declare rcon as a completely partitioned register. Hopefully this should solve the problem. Let me know if you run into any issues. Thanks, BTW, you can definitely reach us here. We also start setting up a google user's group, you can find it here: https://groups.google.com/forum/#!forum/aladdin We just set it up, so there is no much traffic yet. But feel free to post questions there as well. |
Hi @liangwang , is the issue resolved? |
Oh, my bad, my previous comment was missing! Yes, your comments solve the issue. Could you share the setups for other MachSuite benchmarks? More of a suggestion than a request, it would be nice to have the out-of-box support for the MachSuite benchmarks, or some guidance/tutorial to use Aladdin with MachSuite. |
Yeah good point @liangwang ! we do have an automatic interface to set up Aladdin simulations for MachSuite. We need to do some code cleanup here but we will release our setup later to make it easier for other users to use Aladdin w/ MachSuite. |
I tried to generate trace using LLVM-tracer as follows:
The trace was successfully generated, then I tried to simulate aes with Aladdin using the following configuration saved in "config_example":
and invoked Aladdin as:
Unfortunately, Aladdin aborted with the following errors:
Could anyone help on resolve this issue? Or maybe I should ask at the very beginning, is Aladdin able to simulate benchmarks from MachSuite? Sorry if this is not the right place to ask for help. Please point me to the right place, since I did not see any user mailing list or something similar from Aladdin's project page.
Thanks for releasing the great Aladdin tool!
The text was updated successfully, but these errors were encountered: