Code Monkey home page Code Monkey logo

drcctprof's Introduction

DrCCTProf

DrCCTProf is a fine-grained call path profiling framework for binaries running on ARM and X86 architectures. Please see our blog for more details.

build master Codacy Badge license

Contents

Installation

Linux

1. Install Dependencies

In order to build you'll need the following packages:

  • gcc (at least version 4.8)
  • binutils (at least version 2.26)
  • cmake (at least version 3.7)
  • perl

To avoid conflicts with installed original version packages, we recommend that use Spack to manage the above packages and create a virtual environment to build and run DrCCTProf.

2. Build

Use the following commands to get sources and build DrCCTProf:

$ git clone --recurse https://github.com/Xuhpclab/DrCCTProf.git
$ ./build.sh

Usage

Linux

To run DrCCTProf, one needs to issue the following command:

1. Set the global environment variable

$ export drrun=/path/to/DrCCTProf/build/bin64/drrun

2. Run client tool

  • x86_64
$ drrun -t <client tool> -- <application> [apllication args]
  • aarch64
$ drrun -unsafe_build_ldstex -t <client tool> -- <application> [apllication args]

Client tools

Internal client tools list

Name Features Status
drcctlib_cct_only_clean_call A tool that collects call path on each instruction. release
drcctlib_instr_statistics_clean_call A instruction counting tool that counts each instruction. release
drcctlib_reuse_distance_client_cache A reuse distance measurement tool. release
drcctlib_cct_only (Code cache mode)A tool that collects call path on each instruction. beta
drcctlib_instr_statistics (Code cache mode) A instruction counting tool that counts each instruction. beta
drcctlib_reuse_distance (Code cache mode) A reuse distance measurement tool. beta

How to build your own custom tools?

See documentation for details.

Support Platforms

The following platforms passed our tests.

Linux

CPU Systems Architecture
Intel(R) Xeon(R) CPU E5-2699 v3 Ubuntu 18.04 x86_64
Intel(R) Xeon(R) CPU E5-2650 v4 Ubuntu 14.04 x86_64
Intel(R) Xeon(R) CPU E7-4830 v4 Red Hat 4.8.3 x86_64
Arm Cortex A53(Raspberry pi 3 b+) Ubuntu 18.04 aarch64
Arm Cortex-A57(Jetson Nano) Ubuntu 18.04 aarch64
ThunderX2 99xx Ubuntu 20.04 aarch64
AWS Graviton1 Ubuntu 18.04 aarch64
AWS Graviton2 Ubuntu 18.04 aarch64

Obtaining Help

Report an error case of building

Please use the build error report.

DrCCTProf is built atop DynamoRIO. If you get errors in building, you can also search the DynamoRIO's issues to get help.

Report a bug

Please use the bug report.

License

DrCCTProf is released under the MIT License.

drcctprof's People

Contributors

dolanzhao avatar jsalzbergedu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.