Skip to content
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

Add utilities for benchmarking different code versions #65

Merged
merged 107 commits into from
Oct 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
ee8de58
Add overload of `resizeTiles`
sbaldu Apr 3, 2024
6a835ce
Update type
sbaldu Apr 3, 2024
3df2a6e
Setup temporary Tiles using `host_buffer`
sbaldu Apr 3, 2024
4b52ac8
Formatting
sbaldu Apr 3, 2024
37b6898
Set TilesAlpaka constructor as default
sbaldu Apr 3, 2024
af27522
Delete old overload of `resizeTiles`
sbaldu Apr 3, 2024
933ced1
Update to version `2.2.1`
sbaldu Apr 4, 2024
4155f8d
Fix parameters in `__main__`
sbaldu Apr 4, 2024
bc3b8e4
Change parameters in test
sbaldu Apr 5, 2024
4c74162
Rework members of TilesAlpaka as private
sbaldu Apr 5, 2024
8430d74
Inline new methods
sbaldu Apr 5, 2024
75c7bcb
Fix typo
sbaldu Apr 8, 2024
c66766b
Add resize of tiles outer VecArray
sbaldu Apr 8, 2024
0ee66e8
Change default values for tile number and depths
sbaldu Apr 8, 2024
61f4023
Formatting
sbaldu Apr 8, 2024
34b4642
Use `pointsPerTile` when calculating tile number
sbaldu Apr 9, 2024
b44da4e
Set default `ppbin` to 128
sbaldu Apr 9, 2024
f28e76e
Add non-const `data()` to VecArray
sbaldu Apr 22, 2024
c07a4b5
Update `TilesAlpaka`
sbaldu Apr 22, 2024
312b63f
Add `KernelResetTiles`
sbaldu Apr 22, 2024
09ccdf9
Setup Tiles directly on device
sbaldu Apr 22, 2024
720ab69
Add overload of `resizeTiles`
sbaldu Apr 3, 2024
f6b8176
Update type
sbaldu Apr 3, 2024
d9f177d
Setup temporary Tiles using `host_buffer`
sbaldu Apr 3, 2024
6ba74d5
Formatting
sbaldu Apr 3, 2024
1b97754
Set TilesAlpaka constructor as default
sbaldu Apr 3, 2024
fd35d2f
Delete old overload of `resizeTiles`
sbaldu Apr 3, 2024
0edc4a3
Update to version `2.2.1`
sbaldu Apr 4, 2024
0cfd065
Fix parameters in `__main__`
sbaldu Apr 4, 2024
490827e
Change parameters in test
sbaldu Apr 5, 2024
fc756d7
Rework members of TilesAlpaka as private
sbaldu Apr 5, 2024
40d2176
Inline new methods
sbaldu Apr 5, 2024
0d8e470
Fix typo
sbaldu Apr 8, 2024
b86f994
Add resize of tiles outer VecArray
sbaldu Apr 8, 2024
317fa23
Change default values for tile number and depths
sbaldu Apr 8, 2024
253becf
Formatting
sbaldu Apr 8, 2024
07efc80
Use `pointsPerTile` when calculating tile number
sbaldu Apr 9, 2024
f7fc294
Set default `ppbin` to 128
sbaldu Apr 9, 2024
b66e73f
Merge branch 'fix_alpakatiles_setup_ondevice' into fix_alpakatiles_setup
sbaldu Apr 22, 2024
d411d92
Fix typo
sbaldu Apr 22, 2024
74bfd55
Set tile size on device manually
sbaldu Apr 29, 2024
be94528
Define `CoordinateExtremes` class
sbaldu May 2, 2024
9152714
Update `min_max` and `tile_size`
sbaldu May 2, 2024
2b7a3cf
Update setup of tiles
sbaldu May 2, 2024
e2d9e72
Make `min_max` and `tile_size` private
sbaldu May 6, 2024
0ec2c0a
Remove comments
sbaldu May 7, 2024
6c38a26
Add script for benchmarking block sizes
sbaldu Jun 28, 2024
919df5e
Add legend
sbaldu Jul 2, 2024
7ffba9a
Fix typo
sbaldu Jul 6, 2024
d86155e
Add test for multiple backends results
sbaldu Jul 6, 2024
b99d390
Rename method
sbaldu Jul 9, 2024
766397f
Fix typos and lint
sbaldu Jul 9, 2024
a38da37
Fix typo
sbaldu Jul 10, 2024
8aad904
Merge branch 'test_multiple_backends' into fix_alpakatiles_setup
sbaldu Jul 10, 2024
51ab01e
Remove sleep and fix plot styles
sbaldu Jul 10, 2024
b1f2db8
Script for benchmarking ppbin values
sbaldu Jul 10, 2024
34de947
Fix typo
sbaldu Jul 10, 2024
9b5c344
Save measures to csv
sbaldu Jul 10, 2024
35d9014
Fix typo
sbaldu Jul 10, 2024
0a4b2b9
Save standard deviations in csv
sbaldu Jul 10, 2024
3359c45
Fix typo
sbaldu Jul 10, 2024
f6e2c25
Fix pack expansion
sbaldu Jul 10, 2024
b8b6fc4
Delete first measurement
sbaldu Jul 11, 2024
8ded032
Merge branch 'fix_alpakatiles_setup' into benchmarks
sbaldu Jul 11, 2024
fb9bd9d
Add tracing folder inside benchmark
sbaldu Jul 12, 2024
c9b6cbb
Add optional tracing inside algorithm
sbaldu Jul 12, 2024
1b5e9cc
Set parameters at runtime
sbaldu Jul 12, 2024
e4d7ad0
Remove default use of scaler
sbaldu Jul 15, 2024
67d5567
Update parameters in tests
sbaldu Jul 15, 2024
e82b877
Merge branch 'main' into remove_automatic_scaling
sbaldu Jul 21, 2024
d4ce3cb
Add toy det dataset
sbaldu Jul 22, 2024
3a1c72d
Remove comments
sbaldu Jul 23, 2024
26cedb3
Delete comment
sbaldu Jul 23, 2024
89521e9
Update version
sbaldu Jul 23, 2024
a7a8027
Merge branch 'main' into remove_automatic_scaling
sbaldu Jul 23, 2024
76e192c
Update test of clusterer equality
sbaldu Jul 23, 2024
ef2d466
Update run_test.sh
sbaldu Jul 23, 2024
a308b98
Add sync on alpaka mempcy
sbaldu Jul 24, 2024
de71fd4
Fix typos
sbaldu Jul 24, 2024
098ffcd
Update test paramenters and truth files
sbaldu Jul 24, 2024
79f80ab
Formatting
sbaldu Jul 24, 2024
56e91e8
Add backends to __init__.py
sbaldu Jul 26, 2024
9381b79
Benchmark execution time with increasing dataset size
sbaldu Jul 26, 2024
353a473
Merge branch 'remove_automatic_scaling' into benchmarks
sbaldu Jul 26, 2024
4cb4791
General gaussian blob std
sbaldu Jul 26, 2024
fd9b13c
Improve dataset study script
sbaldu Jul 26, 2024
f2a2134
Benchmark number of dimensions
sbaldu Jul 27, 2024
6880980
Test 3D generation
sbaldu Jul 30, 2024
7edd9cc
Script for plotting tracing results
sbaldu Aug 10, 2024
489d36a
Tracing measures from gpu-c2a02-35-01
sbaldu Aug 10, 2024
7152c45
Add datasets for testing on hlt machines (temporary)
sbaldu Aug 11, 2024
01ca5ea
Move benchmark data
sbaldu Oct 28, 2024
7155522
Rework dataset size benchmark
sbaldu Oct 28, 2024
8d9405c
Move data generation script
sbaldu Oct 28, 2024
fa12368
Move profiling code inside benchmark
sbaldu Oct 28, 2024
fafe94b
Remove old scripts
sbaldu Oct 28, 2024
f3d8eda
Merge branch 'main' into benchmarks
sbaldu Oct 28, 2024
b877edb
Add script for fetching other CLUE versions for comparison
sbaldu Oct 28, 2024
fa7f0a9
Update workflow for benchmark and profiling
sbaldu Oct 28, 2024
f65664e
Delete workflow for uploading log
sbaldu Oct 28, 2024
fcbcee4
Fix namespace name
sbaldu Oct 28, 2024
c8d020a
Install matplotlib
sbaldu Oct 28, 2024
098da1d
Install boost
sbaldu Oct 28, 2024
862f0e6
Fix
sbaldu Oct 28, 2024
48e0e09
Fix
sbaldu Oct 28, 2024
a94e42a
Deactivate automatic profiling for now
sbaldu Oct 29, 2024
5fdd657
Add small script for cache profiling with perf
sbaldu Oct 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions .github/workflows/bench_profile_serial.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Run benchmark and profiling

# The workflow gets triggered by pushes and pull requests
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
build:

runs-on: ubuntu-latest
strategy:
fail-fast: false

steps:
# checks out the code in the repository
- uses: actions/checkout@v3
with:
submodules: true

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install matplotlib

- name: Compile and run benchmark
working-directory: ${{ github.workspace }}/benchmark/dataset_size
run: |
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -- -j 2
./build/serial.out 10 18

# TODO: this works on local but not on github actions
# - name: Compile and run profiling
# working-directory: ${{ github.workspace }}/benchmark/profiling
# run: |
# cmake -B build/Debug -DCMAKE_BUILD_TYPE=Debug
# cmake --build build/Debug -- -j 2
# cmake -B build/Release -DCMAKE_BUILD_TYPE=Release
# cmake --build build/Release -- -j 2
# ./build/Debug/serial.out ../../data/data_32768.csv
# gprof ./build/Debug/serial.out ../../data/data_32768.csv
# ./build/Release/serial.out ../../data/data_32768.csv
# gprof ./build/Release/serial.out ../../data/data_32768.csv

# - name: Check cache misses with perf
# working-directory: ${{ github.workspace }}/benchmark/profiling
# run: |
# perf stat -B -e cache-misses,cycles,instructions,branches ./build/Debug/serial.out ../../data/data_32768.csv
# perf stat -B -e cache-misses,cycles,instructions,branches ./build/Release/serial.out ../../data/data_32768.csv

44 changes: 0 additions & 44 deletions .github/workflows/profile_serial.yml

This file was deleted.

46 changes: 0 additions & 46 deletions .github/workflows/upload_profile_log.yml

This file was deleted.

6 changes: 3 additions & 3 deletions CLUEstering/alpaka/CLUE/CLUEAlgoAlpaka.h
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,6 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
alpaka::enqueue(queue_,
alpaka::createTaskKernel<Acc1D>(
tiles_working_div, KernelResetTiles{}, m_tiles, nTiles, nPerDim));

alpaka::memcpy(
queue_,
d_points.coords,
Expand Down Expand Up @@ -198,7 +197,6 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
/* m_domains.data(), */
dc_,
h_points.n));

alpaka::enqueue(queue_,
alpaka::createTaskKernel<Acc1D>(working_div,
KernelCalculateNearestHigher{},
Expand All @@ -208,7 +206,6 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
dm_,
dc_,
h_points.n));

alpaka::enqueue(queue_,
alpaka::createTaskKernel<Acc1D>(working_div,
KernelFindClusters<Ndim>{},
Expand All @@ -224,6 +221,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
const Idx grid_size_seeds = cms::alpakatools::divide_up_by(reserve, block_size);
auto working_div_seeds =
cms::alpakatools::make_workdiv<Acc1D>(grid_size_seeds, block_size);

alpaka::enqueue(queue_,
alpaka::createTaskKernel<Acc1D>(working_div_seeds,
KernelAssignClusters<Ndim>{},
Expand All @@ -249,6 +247,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
d_points.nearest_higher,
static_cast<uint32_t>(h_points.n));
#endif

alpaka::memcpy(
queue_,
cms::alpakatools::make_host_view(h_points.m_clusterIndex.data(), h_points.n),
Expand All @@ -265,4 +264,5 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
return {h_points.m_clusterIndex, h_points.m_isSeed};
}
} // namespace ALPAKA_ACCELERATOR_NAMESPACE

#endif
126 changes: 126 additions & 0 deletions benchmark/cluerel.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
#!/bin/python3

Check warning

Code scanning / Pylintpython3 (reported by Codacy)

Missing module docstring Warning test

Missing module docstring

Check warning

Code scanning / Pylint (reported by Codacy)

Missing module docstring Warning test

Missing module docstring

import os
import subprocess

Check notice

Code scanning / Bandit (reported by Codacy)

Consider possible security implications associated with subprocess module. Note test

Consider possible security implications associated with subprocess module.
import sys

def parse_args() -> tuple:

Check warning

Code scanning / Pylintpython3 (reported by Codacy)

Missing function or method docstring Warning test

Missing function or method docstring

Check warning

Code scanning / Pylint (reported by Codacy)

Missing function docstring Warning test

Missing function docstring
path = sys.argv[2]

Check notice

Code scanning / Pylintpython3 (reported by Codacy)

Unused variable 'path' Note test

Unused variable 'path'

Check notice

Code scanning / Pylint (reported by Codacy)

Unused variable 'path' Note test

Unused variable 'path'

Check warning

Code scanning / Prospector (reported by Codacy)

Unused variable 'path' (unused-variable) Warning test

Unused variable 'path' (unused-variable)
flags = []

Check notice

Code scanning / Pylintpython3 (reported by Codacy)

Redefining name 'flags' from outer scope (line 22) Note test

Redefining name 'flags' from outer scope (line 22)

Check notice

Code scanning / Pylint (reported by Codacy)

Redefining name 'flags' from outer scope (line 22) Note test

Redefining name 'flags' from outer scope (line 22)
values = []

Check notice

Code scanning / Pylintpython3 (reported by Codacy)

Redefining name 'values' from outer scope (line 22) Note test

Redefining name 'values' from outer scope (line 22)

Check notice

Code scanning / Pylint (reported by Codacy)

Redefining name 'values' from outer scope (line 22) Note test

Redefining name 'values' from outer scope (line 22)
for arg in sys.argv[2:]:
parsed = arg.split('=')
flags.append(parsed[0])
values.append(parsed[1])

return (flags, values)

if sys.argv[1] == "-h" or sys.argv[1] == "--help" or len(sys.argv) < 3:

Check warning

Code scanning / Prospector (reported by Codacy)

expected 2 blank lines after class or function definition, found 1 (E305) Warning test

expected 2 blank lines after class or function definition, found 1 (E305)
print("Usage: $0 <path> <version> <fork>")
sys.exit(0)

flags, values = parse_args()

Check warning

Code scanning / Pylint (reported by Codacy)

Constant name "flags" doesn't conform to UPPER_CASE naming style Warning test

Constant name "flags" doesn't conform to UPPER_CASE naming style

Check warning

Code scanning / Pylint (reported by Codacy)

Constant name "values" doesn't conform to UPPER_CASE naming style Warning test

Constant name "values" doesn't conform to UPPER_CASE naming style
if '--fork' in flags:
fork = values[flags.index('--fork')]

Check warning

Code scanning / Pylint (reported by Codacy)

Constant name "fork" doesn't conform to UPPER_CASE naming style Warning test

Constant name "fork" doesn't conform to UPPER_CASE naming style
else:
fork = 'cms-patatrack'

Check warning

Code scanning / Pylintpython3 (reported by Codacy)

Constant name "fork" doesn't conform to UPPER_CASE naming style Warning test

Constant name "fork" doesn't conform to UPPER_CASE naming style

Check warning

Code scanning / Pylint (reported by Codacy)

Constant name "fork" doesn't conform to UPPER_CASE naming style Warning test

Constant name "fork" doesn't conform to UPPER_CASE naming style
if '--commit' in flags:
is_commit = True

Check warning

Code scanning / Pylintpython3 (reported by Codacy)

Constant name "is_commit" doesn't conform to UPPER_CASE naming style Warning test

Constant name "is_commit" doesn't conform to UPPER_CASE naming style

Check warning

Code scanning / Pylint (reported by Codacy)

Constant name "is_commit" doesn't conform to UPPER_CASE naming style Warning test

Constant name "is_commit" doesn't conform to UPPER_CASE naming style
is_branch = False

Check warning

Code scanning / Pylintpython3 (reported by Codacy)

Constant name "is_branch" doesn't conform to UPPER_CASE naming style Warning test

Constant name "is_branch" doesn't conform to UPPER_CASE naming style

Check warning

Code scanning / Pylint (reported by Codacy)

Constant name "is_branch" doesn't conform to UPPER_CASE naming style Warning test

Constant name "is_branch" doesn't conform to UPPER_CASE naming style
version = values[flags.index('--commit')]

Check warning

Code scanning / Pylint (reported by Codacy)

Constant name "version" doesn't conform to UPPER_CASE naming style Warning test

Constant name "version" doesn't conform to UPPER_CASE naming style
elif '--branch' in flags:
is_commit = False

Check warning

Code scanning / Pylintpython3 (reported by Codacy)

Constant name "is_commit" doesn't conform to UPPER_CASE naming style Warning test

Constant name "is_commit" doesn't conform to UPPER_CASE naming style

Check warning

Code scanning / Pylint (reported by Codacy)

Constant name "is_commit" doesn't conform to UPPER_CASE naming style Warning test

Constant name "is_commit" doesn't conform to UPPER_CASE naming style
is_branch = True

Check warning

Code scanning / Pylintpython3 (reported by Codacy)

Constant name "is_branch" doesn't conform to UPPER_CASE naming style Warning test

Constant name "is_branch" doesn't conform to UPPER_CASE naming style

Check warning

Code scanning / Pylint (reported by Codacy)

Constant name "is_branch" doesn't conform to UPPER_CASE naming style Warning test

Constant name "is_branch" doesn't conform to UPPER_CASE naming style
version = values[flags.index('--branch')]

Check warning

Code scanning / Pylint (reported by Codacy)

Constant name "version" doesn't conform to UPPER_CASE naming style Warning test

Constant name "version" doesn't conform to UPPER_CASE naming style

clue_version = f"CLUEstering_{fork}_{version}"

Check warning

Code scanning / Pylint (reported by Codacy)

Constant name "clue_version" doesn't conform to UPPER_CASE naming style Warning test

Constant name "clue_version" doesn't conform to UPPER_CASE naming style

if is_commit:
print(f"Fetching CLUEstering commit {version} from {fork}")
if is_branch:
print(f"Fetching CLUEstering branch {version} from {fork}")

repo_url = f"https://github.com/{fork}/CLUEstering.git"

Check warning

Code scanning / Pylint (reported by Codacy)

Constant name "repo_url" doesn't conform to UPPER_CASE naming style Warning test

Constant name "repo_url" doesn't conform to UPPER_CASE naming style
# Checkout the repo
os.system("mkdir -p " + clue_version)

Check notice

Code scanning / Bandit (reported by Codacy)

Starting a process with a shell, possible injection detected, security issue. Note test

Starting a process with a shell, possible injection detected, security issue.

clone = subprocess.run(["git",

Check notice

Code scanning / Pylintpython3 (reported by Codacy)

Using subprocess.run without explicitly set check is not recommended. Note test

Using subprocess.run without explicitly set check is not recommended.

Check warning

Code scanning / Pylint (reported by Codacy)

Constant name "clone" doesn't conform to UPPER_CASE naming style Warning test

Constant name "clone" doesn't conform to UPPER_CASE naming style

Check warning

Code scanning / Prospector (reported by Codacy)

Using subprocess.run without explicitly set check is not recommended. (subprocess-run-check) Warning test

Using subprocess.run without explicitly set check is not recommended. (subprocess-run-check)

Check notice

Code scanning / Bandit (reported by Codacy)

Starting a process with a partial executable path Note test

Starting a process with a partial executable path

Check notice

Code scanning / Bandit (reported by Codacy)

subprocess call - check for execution of untrusted input. Note test

subprocess call - check for execution of untrusted input.
"clone",
repo_url,
f"{clue_version}/Debug",
"--recursive",
"--depth=1"], capture_output=True, text=True)
if clone.returncode != 0:
print(f"Error: {clone.stderr}")
print((f"Failed to clone the repo {repo_url}. Check that the insersted repository,"
"commit or branch are correct"))
sys.exit(1)
os.system("cp -r " +

Check notice

Code scanning / Bandit (reported by Codacy)

Starting a process with a shell, possible injection detected, security issue. Note test

Starting a process with a shell, possible injection detected, security issue.
f"{clue_version}/Debug " +
f"{clue_version}/Release")
print(f"Cloned {clue_version} successfully")
print('')
print("Compiling the Debug version of the library")
os.chdir(f"{clue_version}/Debug")
# Compile the debug version
compile_debug = subprocess.run(["cmake",

Check notice

Code scanning / Pylintpython3 (reported by Codacy)

Using subprocess.run without explicitly set check is not recommended. Note test

Using subprocess.run without explicitly set check is not recommended.

Check warning

Code scanning / Pylint (reported by Codacy)

Constant name "compile_debug" doesn't conform to UPPER_CASE naming style Warning test

Constant name "compile_debug" doesn't conform to UPPER_CASE naming style

Check warning

Code scanning / Prospector (reported by Codacy)

Using subprocess.run without explicitly set check is not recommended. (subprocess-run-check) Warning test

Using subprocess.run without explicitly set check is not recommended. (subprocess-run-check)

Check notice

Code scanning / Bandit (reported by Codacy)

Starting a process with a partial executable path Note test

Starting a process with a partial executable path

Check notice

Code scanning / Bandit (reported by Codacy)

subprocess call - check for execution of untrusted input. Note test

subprocess call - check for execution of untrusted input.
"-B",
"build",
"-DCMAKE_BUILD_TYPE=Debug"],
capture_output=True,

Check warning

Code scanning / Pylint (reported by Codacy)

Wrong continued indentation (remove 1 space). Warning test

Wrong continued indentation (remove 1 space).
text=True)

Check warning

Code scanning / Pylint (reported by Codacy)

Wrong continued indentation (remove 1 space). Warning test

Wrong continued indentation (remove 1 space).
if compile_debug.returncode != 0:
print(f"Error: {compile_debug.stderr}")
print("Failed to compile the debug version of the project")
sys.exit(1)
compile_debug = subprocess.run(["cmake",

Check notice

Code scanning / Pylintpython3 (reported by Codacy)

Using subprocess.run without explicitly set check is not recommended. Note test

Using subprocess.run without explicitly set check is not recommended.

Check warning

Code scanning / Pylint (reported by Codacy)

Constant name "compile_debug" doesn't conform to UPPER_CASE naming style Warning test

Constant name "compile_debug" doesn't conform to UPPER_CASE naming style

Check warning

Code scanning / Prospector (reported by Codacy)

Using subprocess.run without explicitly set check is not recommended. (subprocess-run-check) Warning test

Using subprocess.run without explicitly set check is not recommended. (subprocess-run-check)

Check notice

Code scanning / Bandit (reported by Codacy)

Starting a process with a partial executable path Note test

Starting a process with a partial executable path

Check notice

Code scanning / Bandit (reported by Codacy)

subprocess call - check for execution of untrusted input. Note test

subprocess call - check for execution of untrusted input.
"--build",
"build",
"--",
"-j",
"2"],
capture_output=True,

Check warning

Code scanning / Pylint (reported by Codacy)

Wrong continued indentation (remove 1 space). Warning test

Wrong continued indentation (remove 1 space).
text=True)

Check warning

Code scanning / Pylint (reported by Codacy)

Wrong continued indentation (remove 1 space). Warning test

Wrong continued indentation (remove 1 space).
compile_debug = subprocess.run(["cmake",

Check notice

Code scanning / Pylintpython3 (reported by Codacy)

Using subprocess.run without explicitly set check is not recommended. Note test

Using subprocess.run without explicitly set check is not recommended.

Check warning

Code scanning / Pylint (reported by Codacy)

Constant name "compile_debug" doesn't conform to UPPER_CASE naming style Warning test

Constant name "compile_debug" doesn't conform to UPPER_CASE naming style

Check warning

Code scanning / Prospector (reported by Codacy)

Using subprocess.run without explicitly set check is not recommended. (subprocess-run-check) Warning test

Using subprocess.run without explicitly set check is not recommended. (subprocess-run-check)

Check notice

Code scanning / Bandit (reported by Codacy)

Starting a process with a partial executable path Note test

Starting a process with a partial executable path

Check notice

Code scanning / Bandit (reported by Codacy)

subprocess call - check for execution of untrusted input. Note test

subprocess call - check for execution of untrusted input.
"-B",
"build"],
capture_output=True,

Check warning

Code scanning / Pylint (reported by Codacy)

Wrong continued indentation (remove 1 space). Warning test

Wrong continued indentation (remove 1 space).
text=True)

Check warning

Code scanning / Pylint (reported by Codacy)

Wrong continued indentation (remove 1 space). Warning test

Wrong continued indentation (remove 1 space).
if compile_debug.returncode != 0:
print(f"Error: {compile_debug.stderr}")
print("Failed to compile the debug version of the project")
sys.exit(1)
print("Finished compiling the debug version.")
print('')
print("Compiling the Release version of the library")
os.chdir("../Release")
# Compile the release version
compile_release = subprocess.run(["cmake",

Check notice

Code scanning / Pylintpython3 (reported by Codacy)

Using subprocess.run without explicitly set check is not recommended. Note test

Using subprocess.run without explicitly set check is not recommended.

Check warning

Code scanning / Pylint (reported by Codacy)

Constant name "compile_release" doesn't conform to UPPER_CASE naming style Warning test

Constant name "compile_release" doesn't conform to UPPER_CASE naming style

Check warning

Code scanning / Prospector (reported by Codacy)

Using subprocess.run without explicitly set check is not recommended. (subprocess-run-check) Warning test

Using subprocess.run without explicitly set check is not recommended. (subprocess-run-check)

Check notice

Code scanning / Bandit (reported by Codacy)

subprocess call - check for execution of untrusted input. Note test

subprocess call - check for execution of untrusted input.

Check notice

Code scanning / Bandit (reported by Codacy)

Starting a process with a partial executable path Note test

Starting a process with a partial executable path
"-B",
"build",
"-DCMAKE_BUILD_TYPE=Release"],
capture_output=True,

Check warning

Code scanning / Pylint (reported by Codacy)

Wrong continued indentation (remove 1 space). Warning test

Wrong continued indentation (remove 1 space).
text=True)

Check warning

Code scanning / Pylint (reported by Codacy)

Wrong continued indentation (remove 1 space). Warning test

Wrong continued indentation (remove 1 space).
if compile_release.returncode != 0:
print(f"Error: {compile_release.stderr}")
print("Failed to compile the release version of the project")
sys.exit(1)
compile_release = subprocess.run(["cmake",

Check notice

Code scanning / Pylintpython3 (reported by Codacy)

Using subprocess.run without explicitly set check is not recommended. Note test

Using subprocess.run without explicitly set check is not recommended.

Check warning

Code scanning / Pylint (reported by Codacy)

Constant name "compile_release" doesn't conform to UPPER_CASE naming style Warning test

Constant name "compile_release" doesn't conform to UPPER_CASE naming style

Check warning

Code scanning / Prospector (reported by Codacy)

Using subprocess.run without explicitly set check is not recommended. (subprocess-run-check) Warning test

Using subprocess.run without explicitly set check is not recommended. (subprocess-run-check)

Check notice

Code scanning / Bandit (reported by Codacy)

subprocess call - check for execution of untrusted input. Note test

subprocess call - check for execution of untrusted input.

Check notice

Code scanning / Bandit (reported by Codacy)

Starting a process with a partial executable path Note test

Starting a process with a partial executable path
"--build",
"build",
"--",
"-j",
"2"],
capture_output=True,

Check warning

Code scanning / Pylint (reported by Codacy)

Wrong continued indentation (remove 1 space). Warning test

Wrong continued indentation (remove 1 space).
text=True)

Check warning

Code scanning / Pylint (reported by Codacy)

Wrong continued indentation (remove 1 space). Warning test

Wrong continued indentation (remove 1 space).
compile_release = subprocess.run(["cmake",

Check notice

Code scanning / Pylintpython3 (reported by Codacy)

Using subprocess.run without explicitly set check is not recommended. Note test

Using subprocess.run without explicitly set check is not recommended.

Check warning

Code scanning / Pylint (reported by Codacy)

Constant name "compile_release" doesn't conform to UPPER_CASE naming style Warning test

Constant name "compile_release" doesn't conform to UPPER_CASE naming style

Check warning

Code scanning / Prospector (reported by Codacy)

Using subprocess.run without explicitly set check is not recommended. (subprocess-run-check) Warning test

Using subprocess.run without explicitly set check is not recommended. (subprocess-run-check)

Check notice

Code scanning / Bandit (reported by Codacy)

Starting a process with a partial executable path Note test

Starting a process with a partial executable path

Check notice

Code scanning / Bandit (reported by Codacy)

subprocess call - check for execution of untrusted input. Note test

subprocess call - check for execution of untrusted input.
"-B",
"build",
"-DCMAKE_BUILD_TYPE=Release"],
capture_output=True,

Check warning

Code scanning / Pylint (reported by Codacy)

Wrong continued indentation (remove 1 space). Warning test

Wrong continued indentation (remove 1 space).
text=True)

Check warning

Code scanning / Pylint (reported by Codacy)

Wrong continued indentation (remove 1 space). Warning test

Wrong continued indentation (remove 1 space).
if compile_release.returncode != 0:
print(f"Error: {compile_release.stderr}")
print("Failed to compile the release version of the project")
sys.exit(1)
print("Finished compiling the release version.")
Loading
Loading