Skip to content

Commit eb64cc5

Browse files
committed
Removed need for conda environment
1 parent a96b43e commit eb64cc5

File tree

6 files changed

+28
-169
lines changed

6 files changed

+28
-169
lines changed

.github/actions/build/entrypoint.sh

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,10 @@
22

33
set -x
44

5-
source $CONDA/etc/profile.d/conda.sh
6-
conda activate riscv_perf_model
7-
85
echo "Starting Build Entry"
96
echo "HOME:" $HOME
107
echo "GITHUB_WORKSPACE:" $GITHUB_WORKSPACE
118
echo "GITHUB_EVENT_PATH:" $GITHUB_EVENT_PATH
12-
echo "CONDA_PREFIX:" $CONDA_PREFIX
139
echo "PWD:" `pwd`
1410

1511
CXX_COMPILER=${COMPILER/clang/clang++}
@@ -28,7 +24,7 @@ echo "Building Sparta Infra"
2824
cd ${GITHUB_WORKSPACE}/map/sparta
2925
mkdir -p release
3026
cd release
31-
CC=$COMPILER CXX=$CXX_COMPILER cmake .. -DCMAKE_BUILD_TYPE=Release -DGEN_DEBUG_INFO=OFF -DCMAKE_INSTALL_PREFIX=${CONDA_PREFIX}
27+
CC=$COMPILER CXX=$CXX_COMPILER cmake .. -DCMAKE_BUILD_TYPE=Release -DGEN_DEBUG_INFO=OFF
3228
if [ $? -ne 0 ]; then
3329
echo "ERROR: Cmake for Sparta framework failed"
3430
exit 1

.github/workflows/conda/environment.yml

Lines changed: 0 additions & 83 deletions
This file was deleted.

.github/workflows/conda/macos_env.yml

Lines changed: 0 additions & 14 deletions
This file was deleted.

.github/workflows/ubuntu-build.yml

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,12 @@ jobs:
4040
path: map
4141
ref: map_v2.0.21
4242

43-
# Setup Conda and build environment
43+
# Setup build environment
4444
- name: Grab Python v3.8
4545
uses: actions/setup-python@v3
4646
with:
4747
python-version: 3.8
4848

49-
# Cache the conda dependencies to
50-
- name: Cache conda deps
51-
uses: actions/cache@v3
52-
with:
53-
key: ${{ matrix.os }}-${{ matrix.BUILD_TYPE }}-${{ matrix.COMPILER }}-conda-${{ hashFiles('.github/workflows/conda/environment.yml') }}
54-
path: /usr/share/miniconda/envs/riscv_perf_model # Default path for conda
55-
5649
# Setup CCache to cache builds
5750
- name: ccache
5851
uses: hendrikmuhs/[email protected]
@@ -62,12 +55,11 @@ jobs:
6255
${{ matrix.os }}-${{ matrix.BUILD_TYPE }}-${{ matrix.COMPILER }}-ccache-master
6356
${{ matrix.os }}-${{ matrix.BUILD_TYPE }}-${{ matrix.COMPILER }}-ccache
6457
65-
- name: Setup Conda Environment
58+
# Install missing packages to make everything build
59+
- name: Install packages needed for sparta/olympia
6660
run: |
67-
# $CONDA is an environment variable pointing to the root of the miniconda directory
68-
$CONDA/bin/conda config --set channel_priority strict
69-
$CONDA/bin/conda env update --file ${{ github.workspace }}/.github/workflows/conda/environment.yml
70-
$CONDA/bin/conda init bash
61+
sudo apt-get update --fix-missing
62+
sudo apt-get install libboost-all-dev libyaml-cpp-dev rapidjson-dev libhdf5-dev llvm lld
7163
7264
# Build
7365
- name: Build & Regress

README.md

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,28 +21,34 @@ under development.
2121

2222
## Building
2323

24-
1. Set up a clean working `conda` environment by following the directions [here](https://github.com/riscv-software-src/riscv-perf-model/tree/master/conda)
25-
1. Download and build Sparta and checkout branch [map_v2](https://github.com/sparcians/map/tree/map_v2). Follow the directions on the [Sparta README](https://github.com/sparcians/map/tree/map_v2#building-map) to build _and install_ Sparta
26-
1. Make sure you have the [required libraries](https://github.com/sparcians/stf_lib#required-packages) for the STF toolsuite installed
27-
1. Clone olympia
24+
1. Clone olympia, making sure this is done recursively.
2825
```
2926
git clone --recursive [email protected]:riscv-software-src/riscv-perf-model.git
3027
```
31-
1. Build Olympia in the new `conda` environment created
28+
1. Before building, make sure the following packages are installed:
29+
30+
* Sparta v2: https://github.com/sparcians/map?tab=readme-ov-file#simple
31+
* (cmake) cmake v3.22
32+
* (libboost-all-dev) boost 1.78.0
33+
* (yaml-cpp-dev) YAML CPP 0.7.0
34+
* (rapidjson-dev) RapidJSON CPP 1.1.0
35+
* (libsqlite3-dev) SQLite3 3.37.2
36+
* (libhdf5-dev) HDF5 1.10.7
37+
* (clang++) Clang, Version: 14.0.0 OR (g++) v13.0.0 or greater
38+
39+
1. Build Olympia, highly optimized, optimzed with debug, or debug. If
40+
sparta was NOT installed in the standand locations, the user can
41+
specify the path to sparta by setting
42+
`-DSPARTA_SEARCH_DIR=/path/to/sparta/install/` to `cmake`
3243

3344
```
34-
35-
################################################################################
36-
# Enable conda environment (suggested)
37-
conda activate sparta
38-
3945
################################################################################
4046
# Optimized, no symbols
4147
4248
# A release build
4349
mkdir release; cd release
4450
45-
# Assumes sparta was installed in the conda environment.
51+
# Assumes sparta was installed on the local machine
4652
# If not, use -DSPARTA_SEARCH_DIR=/path/to/sparta/install
4753
cmake .. -DCMAKE_BUILD_TYPE=Release
4854
@@ -55,7 +61,7 @@ make olympia
5561
# A FastDebug build
5662
mkdir fastdebug; cd fastdebug
5763
58-
# Assumes sparta was installed in the conda environment.
64+
# Assumes sparta was installed on the local machine
5965
# If not, use -DSPARTA_SEARCH_DIR=/path/to/sparta/install
6066
cmake .. -DCMAKE_BUILD_TYPE=fastdebug
6167
@@ -68,7 +74,7 @@ make olympia
6874
# A debug build
6975
mkdir debug; cd debug
7076
71-
# Assumes sparta was installed in the conda environment.
77+
# Assumes sparta was installed on the local machine
7278
# If not, use -DSPARTA_SEARCH_DIR=/path/to/sparta/install
7379
cmake .. -DCMAKE_BUILD_TYPE=Debug
7480
@@ -284,11 +290,11 @@ top.cpu.core0.extension.core_extensions:
284290
# ["0", "3"] means iq0 has exe0, exe1, exe2, and exe3, so it's inclusive
285291
# if you want just one execution unit to issue queue you can do:
286292
# ["0"] which would result in iq0 -> exe0
287-
# *note if you change the number of issue queues,
293+
# *note if you change the number of issue queues,
288294
# you need to add it to latency matrix below
289295
290296
issue_queue_to_pipe_map:
291-
[
297+
[
292298
["0", "1"], # iq0 -> exe0, exe1
293299
["2", "3"], # iq1 -> exe2, exe3
294300
["4", "5"], # iq2 -> exe4, exe5
@@ -302,7 +308,7 @@ The `pipelines` section defines for each execution unit, what are it's pipe targ
302308
The `issue_queue_to_pipe_map` defines which execution units map to which issue queues, with the position being the issue queue number. So in the above `["0", "1"]` in the first row is the first issue queue that connects to `exe0` and `exe1`, so do note it's inclusive of the end value. If one wanted to have a one execution unit to issue queue mapping, the above would turn into:
303309
```
304310
issue_queue_to_pipe_map:
305-
[
311+
[
306312
["0"], # iq0 -> exe0
307313
["1"], # iq1 -> exe1
308314
["2"], # iq2 -> exe2

conda/README.md

Lines changed: 0 additions & 38 deletions
This file was deleted.

0 commit comments

Comments
 (0)