Skip to content

Commit 91c135a

Browse files
authored
Merge pull request vortexgpgpu#185 from vortexgpgpu/tensor-core
Merge tensor-core and devel branch into master
2 parents 847562b + faa3b9a commit 91c135a

File tree

323 files changed

+11140
-25834
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

323 files changed

+11140
-25834
lines changed

.github/workflows/ci.yml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ jobs:
2121

2222
steps:
2323
- name: Checkout code
24-
uses: actions/checkout@v4
24+
uses: actions/checkout@v2
2525
with:
2626
submodules: recursive
2727

2828
- name: Cache Toolchain Directory
2929
id: cache-toolchain
30-
uses: actions/cache@v4
30+
uses: actions/cache@v2
3131
with:
3232
path: tools
3333
key: ${{ runner.os }}-toolchain-v0.1
@@ -36,7 +36,7 @@ jobs:
3636
3737
- name: Cache Third Party Directory
3838
id: cache-thirdparty
39-
uses: actions/cache@v4
39+
uses: actions/cache@v2
4040
with:
4141
path: third_party
4242
key: ${{ runner.os }}-thirdparty-v0.1
@@ -46,7 +46,7 @@ jobs:
4646
- name: Install Dependencies
4747
if: steps.cache-toolchain.outputs.cache-hit != 'true' || steps.cache-thirdparty.outputs.cache-hit != 'true'
4848
run: |
49-
sudo bash ./ci/system_updates.sh
49+
sudo bash ./ci/install_dependencies.sh
5050
5151
- name: Setup Toolchain
5252
if: steps.cache-toolchain.outputs.cache-hit != 'true'
@@ -71,15 +71,15 @@ jobs:
7171

7272
steps:
7373
- name: Checkout code
74-
uses: actions/checkout@v4
74+
uses: actions/checkout@v2
7575

7676
- name: Install Dependencies
7777
run: |
78-
sudo bash ./ci/system_updates.sh
78+
sudo bash ./ci/install_dependencies.sh
7979
8080
- name: Cache Toolchain Directory
8181
id: cache-toolchain
82-
uses: actions/cache@v4
82+
uses: actions/cache@v2
8383
with:
8484
path: tools
8585
key: ${{ runner.os }}-toolchain-v0.1
@@ -88,7 +88,7 @@ jobs:
8888
8989
- name: Cache Third Party Directory
9090
id: cache-thirdparty
91-
uses: actions/cache@v4
91+
uses: actions/cache@v2
9292
with:
9393
path: third_party
9494
key: ${{ runner.os }}-thirdparty-v0.1
@@ -106,31 +106,31 @@ jobs:
106106
make tests -s > /dev/null
107107
108108
- name: Upload Build Artifact
109-
uses: actions/upload-artifact@v4
109+
uses: actions/upload-artifact@v3
110110
with:
111111
name: build-${{ matrix.xlen }}
112112
path: build${{ matrix.xlen }}
113113

114-
test:
114+
tests:
115115
runs-on: ubuntu-20.04
116116
needs: build
117117
strategy:
118118
fail-fast: false
119119
matrix:
120-
name: [regression, opencl, cache, config1, config2, debug, stress, vm]
120+
name: [regression, opencl, cache, config1, config2, debug, scope, stress, synthesis, vm]
121121
xlen: [32, 64]
122122

123123
steps:
124124
- name: Checkout code
125-
uses: actions/checkout@v4
125+
uses: actions/checkout@v2
126126

127127
- name: Install Dependencies
128128
run: |
129-
sudo bash ./ci/system_updates.sh
129+
sudo bash ./ci/install_dependencies.sh
130130
131131
- name: Cache Toolchain Directory
132132
id: cache-toolchain
133-
uses: actions/cache@v4
133+
uses: actions/cache@v2
134134
with:
135135
path: tools
136136
key: ${{ runner.os }}-toolchain-v0.1
@@ -139,18 +139,19 @@ jobs:
139139
140140
- name: Cache Third Party Directory
141141
id: cache-thirdparty
142-
uses: actions/cache@v4
142+
uses: actions/cache@v2
143143
with:
144144
path: third_party
145145
key: ${{ runner.os }}-thirdparty-v0.1
146146
restore-keys: |
147147
${{ runner.os }}-thirdparty-
148148
149149
- name: Download Build Artifact
150-
uses: actions/download-artifact@v4
150+
uses: actions/download-artifact@v3
151151
with:
152152
name: build-${{ matrix.xlen }}
153153
path: build${{ matrix.xlen }}
154+
154155
- name: Run tests
155156
run: |
156157
cd build${{ matrix.xlen }}
@@ -160,15 +161,14 @@ jobs:
160161
./ci/regression.sh --unittest
161162
./ci/regression.sh --isa
162163
./ci/regression.sh --kernel
163-
./ci/regression.sh --synthesis
164164
./ci/regression.sh --regression
165165
else
166166
./ci/regression.sh --${{ matrix.name }}
167167
fi
168168
169169
complete:
170170
runs-on: ubuntu-20.04
171-
needs: test
171+
needs: tests
172172

173173
steps:
174174
- name: Check Completion

.gitmodules

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
[submodule "third_party/fpnew"]
2-
path = third_party/fpnew
3-
url = https://github.com/pulp-platform/fpnew.git
41
[submodule "third_party/softfloat"]
52
path = third_party/softfloat
63
url = https://github.com/ucb-bar/berkeley-softfloat-3.git
74
[submodule "third_party/ramulator"]
85
path = third_party/ramulator
96
url = https://github.com/CMU-SAFARI/ramulator2.git
7+
[submodule "third_party/cvfpu"]
8+
path = third_party/cvfpu
9+
url = https://github.com/openhwgroup/cvfpu.git

README.md

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Vortex is a full-stack open-source RISC-V GPGPU.
55
## Specifications
66

77
- Support RISC-V RV32IMAF and RV64IMAFD
8+
89
- Microarchitecture:
910
- configurable number of cores, warps, and threads.
1011
- configurable number of ALU, FPU, LSU, and SFU units per core.
@@ -32,31 +33,28 @@ Vortex is a full-stack open-source RISC-V GPGPU.
3233
## Build Instructions
3334
More detailed build instructions can be found [here](docs/install_vortex.md).
3435
### Supported OS Platforms
35-
- Ubuntu 18.04, 20.04
36+
- Ubuntu 18.04, 20.04, 22.04, 24.04
3637
- Centos 7
3738
### Toolchain Dependencies
3839
- [POCL](http://portablecl.org/)
3940
- [LLVM](https://llvm.org/)
4041
- [RISCV-GNU-TOOLCHAIN](https://github.com/riscv-collab/riscv-gnu-toolchain)
4142
- [Verilator](https://www.veripool.org/verilator)
42-
- [FpNew](https://github.com/pulp-platform/fpnew.git)
43+
- [cvfpu](https://github.com/openhwgroup/cvfpu.git)
4344
- [SoftFloat](https://github.com/ucb-bar/berkeley-softfloat-3.git)
4445
- [Ramulator](https://github.com/CMU-SAFARI/ramulator.git)
4546
- [Yosys](https://github.com/YosysHQ/yosys)
4647
- [Sv2v](https://github.com/zachjs/sv2v)
47-
### Install development tools
48-
```sh
49-
sudo apt-get install build-essential
50-
sudo apt-get install binutils
51-
sudo apt-get install python
52-
sudo apt-get install uuid-dev
53-
sudo apt-get install git
54-
```
5548
### Install Vortex codebase
5649
```sh
5750
git clone --depth=1 --recursive https://github.com/vortexgpgpu/vortex.git
5851
cd vortex
5952
```
53+
### Install system dependencies
54+
```sh
55+
# ensure dependent libraries are present
56+
sudo ./ci/install_dependencies.sh
57+
```
6058
### Configure your build folder
6159
```sh
6260
mkdir build
@@ -91,19 +89,19 @@ make -s
9189
make -s
9290
make install
9391
```
94-
- Building Vortex 64-bit simply requires using --xlen=64 configure option.
92+
- Building Vortex 64-bit requires setting --xlen=64 configure option.
9593
```sh
96-
../configure --xlen=32 --tooldir=$HOME/tools
94+
../configure --xlen=64 --tooldir=$HOME/tools
9795
```
9896
- Sourcing "./ci/toolchain_env.sh" is required everytime you start a new terminal. we recommend adding "source <build-path>/ci/toolchain_env.sh" to your ~/.bashrc file to automate the process at login.
9997
```sh
10098
echo "source <build-path>/ci/toolchain_env.sh" >> ~/.bashrc
10199
```
102-
- Making changes to Makefiles in your source tree or adding new folders will require executing the "configure" script again to get it propagated into your build folder.
100+
- Making changes to Makefiles in your source tree or adding new folders will require executing the "configure" script again without any options to get changes propagated to your build folder.
103101
```sh
104102
../configure
105103
```
106-
- To debug the GPU, you can generate a "run.log" trace. see /docs/debugging.md for more information.
104+
- To debug the GPU, the simulation can generate a runtime trace for analysis. See /docs/debugging.md for more information.
107105
```sh
108106
./ci/blackbox.sh --app=demo --debug=3
109107
```

0 commit comments

Comments
 (0)