• Stars
    star
    237
  • Rank 163,698 (Top 4 %)
  • Language
    C++
  • License
    Apache License 2.0
  • Created over 2 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

MegPeak

Megpeak is a tool for testing processor peak computation, now support arm, x86 and GPU driven by OpenCL processor.

MegPeak can do

MegPeak can do:

  • Peak bandwidth of instruction
  • Instruction delay
  • Memory peak bandwidth
  • Peak bandwidth of arbitrary instruction combination

Although some of the above information can be obtained by querying the data sheet of the chip, and with guidance the theoretical the peak performance can be computed, but in many cases, the detail performance documents of the target processor cannot be obtained. In addition, the result through megpeak is more direct and accurate, and it can test the peak bandwidth of arbitrary instruction combination

BUILD

MegPeak only support CMake build system and require CMake version upper than 3.15.2, you can compile the MegPeak follow the step:

  • clone or download the project
  • choose a test platform
    • if you will test x86 processor in linux OS
      • a gcc or clang compiler should find by cmake through PATH env
    • if you will test arm processor in android OS
      • a ndk is required
        • download the NDK and extract to the host machine
        • set the NDK_ROOT env to the path of extracted NDK directory
  • if your target test OS is android,run the android_build.sh to build it
    • build for armv7
      ./android_build.sh -m armeabi-v7a
    • build for arm64
      ./android_build.sh -m arm64-v8a
    • build with OpenCL
      ./android_build.sh -l -m [arm64-v8a, armeabi-v7a]
    • build with all benchmark
      ./android_build.sh -a -m [arm64-v8a, armeabi-v7a]
  • if you target test OS is linux,if you want to enable OpenCL add -DMEGPEAK_ENABLE_OPENCL=ON to cmake command
    mkdir -p build && cd build
    cmake .. [-DMEGPEAK_ENABLE_OPENCL=ON]
    make
  • after build, the executable file megpeak is stored in build directory

Run

If you compile the project and get the megpeak, next you can copy or set the megpeak executable file to the test machine,and run it and get the help message. bash ./megpeak -h

  • test opencl
    ./megpeak -d opencl
  • test CPU with cpu id
    ./megpeak -d cpu -i 0

GFlops test results for different CPUs

Platform CPU Architecture Frequence(GHz) GFLOPS FLOPS/Cycle
/ Cortex-A7 ARMV7 1.0 1.902002 1.9020
/ Cortex-A53 ARM64 1.3 9.844987 7.5731
Xiaomi Mi 9 Core 0 Cortex-A55 ARM64 1.8 13.566583 7.537
raspberry-pi 4b Cortex-A72 ARM64 1.5 11.664233 7.776
Xiaomi Mi 9 Core 6 Cortex-A76 ARM64 2.42 38.691399 15.988
Realme X7 Pro Core 4 Cortex-A77 ARM64 2.6 41.318005 15.892
Xiaomi Mi 11 Core 6 Cortex-A78 ARM64 2.4 33.781448 14.076
Apple Mac Apple M1 ARM64 3.2 102.424 32.008
More details see wiki

Acknowledgement

OpenCL in MegPeak referenced the clpeak project

License

Apache-2.0

More Repositories

1

MegEngine

MegEngine 是一个快速、可拓展、易于使用且支持自动求导的深度学习框架
C++
4,717
star
2

InferLLM

a lightweight LLM model inference framework
C++
574
star
3

MegCC

MegCC是一个运行时超轻量,高效,移植简单的深度学习模型编译器
C++
461
star
4

MegSpot

MegSpot是一款高效、专业、跨平台的图片&视频对比应用
Vue
405
star
5

MegFlow

Efficient ML solution for long-tailed demands.
Rust
399
star
6

Models

采用MegEngine实现的各种主流深度学习模型
Python
300
star
7

RepLKNet

Official MegEngine implementation of RepLKNet
Python
261
star
8

PMRID

ECCV2020 - Practical Deep Raw Image Denoising on Mobile Devices
Python
199
star
9

mperf

mperf是一个面向移动/嵌入式平台的算子性能调优工具箱
C++
157
star
10

NBNet

NBNet: Noise Basis Learning for Image Denoising with Subspace Projection
Python
141
star
11

YOLOX

MegEngine implementation of YOLOX
Python
98
star
12

Hub

基于旷视研究院领先的深度学习算法,提供满足多业务场景的预训练模型
Python
90
star
13

mgeconvert

MegEngine到其他框架的转换器
Python
67
star
14

ICD

This is the official implementation of the paper "Instance-conditional Knowledge Distillation for Object Detection", based on MegEngine and Pytorch.
Python
54
star
15

MegRay

A communication library for deep learning
C++
48
star
16

Docs

MegEngine Documentations
Python
44
star
17

GyroFlow

The official MegEngine implementation of the ICCV 2021 paper: GyroFlow: Gyroscope-Guided Unsupervised Optical Flow Learning
Python
43
star
18

Documentation

MegEngine Official Documentation
Python
38
star
19

Resource

Jupyter Notebook
32
star
20

OMNet

OMNet: Learning Overlapping Mask for Partial-to-Partial Point Cloud Registration, ICCV 2021, MegEngine implementation.
Python
32
star
21

ECCV2022-RIFE

Official MegEngine Implementation of Real-Time Intermediate Flow Estimation for Video Frame Interpolation
Python
29
star
22

examples

A set of examples around MegEngine
Python
27
star
23

FINet

This is the official MegEngine implementation of FINet: Dual Branches Feature Interaction for Partial-to-Partial Point Cloud Registration, AAAI 2022
Python
20
star
24

awesome-megengine

Awesome Resources about MegEngine
15
star
25

cutlass-bak

modified cutlass
C++
14
star
26

MegDiffusion

MegEngine implementation of Diffusion Models.
Python
13
star
27

End-to-end-ASR-Transformer

An end to end ASR Transformer model training repo
Python
13
star
28

swin-transformer

Swin-Transformer implementation in MegEngine. This is a showcase for training on GPU with less memory by leveraging MegEngine DTR technique.
Python
12
star
29

MegCat

A Deep Learning Project about cats.
11
star
30

Inference-Demo

推理样例
C++
8
star
31

NeRF

NeRF implementation in MegEngine
Python
8
star
32

megenginelite-rs

Rust
7
star
33

MegCookbook

以《解析深度学习——卷积神经网络原理与视觉实践》一书内容为脉络,提供MegEngine具体代码实现示例和项目案例
7
star
34

cheat_sheet_for_pytorch_immigrant

一份给从 PyTorch 迁移过来的用户的小抄
6
star
35

MegEngine-DMVFN

Python
6
star
36

MegEngine-SAM

Python
5
star
37

invis

invisible megengine API
Python
4
star
38

midout

Reduce binary size by removing code blocks
C++
4
star
39

MegRL

A MegEngine implementation of 6 RL algorithms
Python
3
star
40

MegEngine-Benchmark

Python
3
star
41

torch2mge

Python
2
star
42

Transfer-Learning-Library

Transfer Learning Library for Domain Adaptation, Task Adaptation, and Domain Generalization
Python
2
star
43

xopr

Experimental Operator Library for MegEngine
Python
2
star
44

mperf-libpfm4

forked from https://sourceforge.net/p/perfmon2/libpfm4/ci/master/tree/
C
1
star