Skip to main content

A simple wrapper class around uiCA and llvm-mca, for easier analysing

Project description

uiCA Wrapper:

This is just a simple wrapper project around uiCA to be able to simply assemble and analyse instruction.

In comparison to the original project this project contains a class uiCA_Wrapper which can also analyse assembler instrucitons as strings or list of strings and not just assembled binary files.

Example:

test = "l: add rax, rbx; add rbx, rax; dec r15; jnz l"
o = uiCA_Wrapper(test)
t = o.run()
print(t)

Installation:

To install the package locally run:

git clone --recursive https://github.com/FloydZ/uiCA_wrapper
cd uiCA_Wrapper
./setup.sh

Note the setup.sh. This is needed to build uiCA. If you are a windoof user you can instead run

cd uiCA_Wrapper/uiCA/
./setup.cmd

Restrictions:

Currently, the throughput is calculated by the wrapper class. Everything else is ignored.

TODO:

llvm_mca wrapper:

  • pass all global information to the code regions, s.t. the same views can be generated.
  • instruction: add information like throughput, latency. get from another python package

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

machine_code_analyzer-0.1.0.tar.gz (877.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

machine_code_analyzer-0.1.0-py3-none-any.whl (931.2 kB view details)

Uploaded Python 3

File details

Details for the file machine_code_analyzer-0.1.0.tar.gz.

File metadata

  • Download URL: machine_code_analyzer-0.1.0.tar.gz
  • Upload date:
  • Size: 877.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for machine_code_analyzer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 530528e76673d0c7975cca1247632fdb3601e61f7e8afe4921c9d18dbbc73791
MD5 2a50a2f85539915c3f0af3b304ddb60c
BLAKE2b-256 922bf8641830397d5e276dd9d538580f272dd7dbb7889db7da76e140f2f12a29

See more details on using hashes here.

Provenance

The following attestation bundles were made for machine_code_analyzer-0.1.0.tar.gz:

Publisher: publish.yml on FloydZ/uiCA_wrapper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file machine_code_analyzer-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for machine_code_analyzer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7aeeb2e28edf2a209e8d84d3f4d15a0b2c039761617acf83a2b85c51a2023b53
MD5 7955a4972de47d2600a9ad893e3afd0a
BLAKE2b-256 1701dbf08a007c2f3a338db16ef32d27bee7ff3eac85933fe92890343cd1f97f

See more details on using hashes here.

Provenance

The following attestation bundles were made for machine_code_analyzer-0.1.0-py3-none-any.whl:

Publisher: publish.yml on FloydZ/uiCA_wrapper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page