Skip to content

Commit

Permalink
PerfSpect 3 - new design, implementation, and features (#75)
Browse files Browse the repository at this point in the history
  • Loading branch information
harp-intel authored Oct 30, 2024
1 parent 112554d commit a62f8a0
Show file tree
Hide file tree
Showing 155 changed files with 23,711 additions and 6,265 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @harp-intel
30 changes: 0 additions & 30 deletions .github/ISSUE_TEMPLATE/1-support-bugs.yml

This file was deleted.

21 changes: 0 additions & 21 deletions .github/ISSUE_TEMPLATE/2-feature-request.yml

This file was deleted.

1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/config.yml

This file was deleted.

42 changes: 42 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "gomod" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "daily"

- package-ecosystem: "gomod"
directory: "/internal/common"
schedule:
interval: "daily"

- package-ecosystem: "gomod"
directory: "/internal/cpudb"
schedule:
interval: "daily"

- package-ecosystem: "gomod"
directory: "/internal/report"
schedule:
interval: "daily"

- package-ecosystem: "gomod"
directory: "/internal/script"
schedule:
interval: "daily"

- package-ecosystem: "gomod"
directory: "/internal/target"
schedule:
interval: "daily"

- package-ecosystem: "gomod"
directory: "/internal/util"
schedule:
interval: "daily"

58 changes: 58 additions & 0 deletions .github/mock_mlc
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#! /bin/bash
# mock_mlc
# arguments:
# --loaded_latency
# --bandwidth_matrix

if [ "$1" == "--loaded_latency" ]; then
cat <<EOT
Intel(R) Memory Latency Checker - v3.10
Command line parameters: --loaded_latency
Using buffer size of 100.000MiB/thread for reads and an additional 100.000MiB/thread for writes
Measuring Loaded Latencies for the system
Using all the threads from each core if Hyper-threading is enabled
Using Read-only traffic type
Inject Latency Bandwidth
Delay (ns) MB/sec
==========================
00000 282.55 135345.6
00002 284.07 135403.7
00008 278.73 135411.2
00015 269.25 135532.7
00050 231.67 135768.8
00100 134.91 97362.0
00200 114.13 43700.8
00300 110.66 29798.1
00400 109.30 22699.6
00500 108.59 18821.4
00700 107.72 13697.0
01000 107.08 9975.2
01300 106.73 8016.6
01700 106.41 6321.5
02500 106.10 4561.3
03500 105.90 3481.5
05000 105.77 2688.7
09000 105.60 1844.7
20000 105.48 1148.7
EOT
elif [ "$1" == "--bandwidth_matrix" ]; then
cat <<EOT
Intel(R) Memory Latency Checker - v3.10
Command line parameters: --bandwidth_matrix
Using buffer size of 100.000MiB/thread for reads and an additional 100.000MiB/thread for writes
Measuring Memory Bandwidths between nodes within system
Bandwidths are in MB/sec (1 MB/sec = 1,000,000 Bytes/sec)
Using all the threads from each core if Hyper-threading is enabled
Using Read-only traffic type
Numa node
Numa node 0
0 135248.8
EOT
else
echo "unknown option"
fi
67 changes: 67 additions & 0 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Build & Test

on:
push:
branches: [ "main" ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ "main" ]
workflow_dispatch:

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: build perfspect
run: |
builder/build.sh
- name: upload perfspect
uses: actions/upload-artifact@v4
with:
name: perfspect
path: dist/perfspect*.tgz
- name: upload md5
uses: actions/upload-artifact@v4
with:
name: md5
path: dist/perfspect*.md5.txt
- name: upload manifest
uses: actions/upload-artifact@v4
with:
name: manifest
path: dist/manifest.json
- name: upload oss package
uses: actions/upload-artifact@v4
with:
name: oss_source
path: dist/oss_source.tgz

test:
needs: [build]
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: download perspect
uses: actions/download-artifact@v4
with:
name: perfspect
- name: run test
run: |
tar -xf perfspect*
cp .github/mock_mlc perfspect/tools/x86_64/
cd perfspect
mkdir output
./perfspect report --format all --output output --benchmark all
cp -f perfspect.log output/
- name: upload report
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.runner }} report
path: perfspect/output/
36 changes: 0 additions & 36 deletions .github/workflows/build.yml

This file was deleted.

21 changes: 11 additions & 10 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,24 +21,25 @@ jobs:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'cpp', 'python', 'javascript' ]

language: [ 'go' ]
steps:
- name: Checkout repository
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@4759df8df70c5ebe7042c3029bbace20eee13edd # v2.23.1
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
- run: |
pip3 install -r requirements.txt
- name: Build
run: |
mkdir -p internal/script/resources
touch internal/script/resources/dummy
mkdir -p internal/common/resources
touch internal/common/resources/dummy
make
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@4759df8df70c5ebe7042c3029bbace20eee13edd # v2.23.1
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
category: "/language:${{matrix.language}}"
12 changes: 7 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
build/*
dist/*
src/libtsc.so
__pycache__
*.log
/perfspect
/perfspect.log
/perfspect_202*
/debug_out
/tools/bin
/dist
/internal/script/resources/x86_64
Loading

0 comments on commit a62f8a0

Please sign in to comment.