Skip to content

Commit

Permalink
Merge pull request vortexgpgpu#185 from vortexgpgpu/tensor-core
Browse files Browse the repository at this point in the history
Merge tensor-core and devel branch into master
  • Loading branch information
hyesoon authored Oct 5, 2024
2 parents 847562b + faa3b9a commit 91c135a
Show file tree
Hide file tree
Showing 323 changed files with 11,140 additions and 25,834 deletions.
36 changes: 18 additions & 18 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v2
with:
submodules: recursive

- name: Cache Toolchain Directory
id: cache-toolchain
uses: actions/cache@v4
uses: actions/cache@v2
with:
path: tools
key: ${{ runner.os }}-toolchain-v0.1
Expand All @@ -36,7 +36,7 @@ jobs:
- name: Cache Third Party Directory
id: cache-thirdparty
uses: actions/cache@v4
uses: actions/cache@v2
with:
path: third_party
key: ${{ runner.os }}-thirdparty-v0.1
Expand All @@ -46,7 +46,7 @@ jobs:
- name: Install Dependencies
if: steps.cache-toolchain.outputs.cache-hit != 'true' || steps.cache-thirdparty.outputs.cache-hit != 'true'
run: |
sudo bash ./ci/system_updates.sh
sudo bash ./ci/install_dependencies.sh
- name: Setup Toolchain
if: steps.cache-toolchain.outputs.cache-hit != 'true'
Expand All @@ -71,15 +71,15 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v2

- name: Install Dependencies
run: |
sudo bash ./ci/system_updates.sh
sudo bash ./ci/install_dependencies.sh
- name: Cache Toolchain Directory
id: cache-toolchain
uses: actions/cache@v4
uses: actions/cache@v2
with:
path: tools
key: ${{ runner.os }}-toolchain-v0.1
Expand All @@ -88,7 +88,7 @@ jobs:
- name: Cache Third Party Directory
id: cache-thirdparty
uses: actions/cache@v4
uses: actions/cache@v2
with:
path: third_party
key: ${{ runner.os }}-thirdparty-v0.1
Expand All @@ -106,31 +106,31 @@ jobs:
make tests -s > /dev/null
- name: Upload Build Artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v3
with:
name: build-${{ matrix.xlen }}
path: build${{ matrix.xlen }}

test:
tests:
runs-on: ubuntu-20.04
needs: build
strategy:
fail-fast: false
matrix:
name: [regression, opencl, cache, config1, config2, debug, stress, vm]
name: [regression, opencl, cache, config1, config2, debug, scope, stress, synthesis, vm]
xlen: [32, 64]

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v2

- name: Install Dependencies
run: |
sudo bash ./ci/system_updates.sh
sudo bash ./ci/install_dependencies.sh
- name: Cache Toolchain Directory
id: cache-toolchain
uses: actions/cache@v4
uses: actions/cache@v2
with:
path: tools
key: ${{ runner.os }}-toolchain-v0.1
Expand All @@ -139,18 +139,19 @@ jobs:
- name: Cache Third Party Directory
id: cache-thirdparty
uses: actions/cache@v4
uses: actions/cache@v2
with:
path: third_party
key: ${{ runner.os }}-thirdparty-v0.1
restore-keys: |
${{ runner.os }}-thirdparty-
- name: Download Build Artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v3
with:
name: build-${{ matrix.xlen }}
path: build${{ matrix.xlen }}

- name: Run tests
run: |
cd build${{ matrix.xlen }}
Expand All @@ -160,15 +161,14 @@ jobs:
./ci/regression.sh --unittest
./ci/regression.sh --isa
./ci/regression.sh --kernel
./ci/regression.sh --synthesis
./ci/regression.sh --regression
else
./ci/regression.sh --${{ matrix.name }}
fi
complete:
runs-on: ubuntu-20.04
needs: test
needs: tests

steps:
- name: Check Completion
Expand Down
6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[submodule "third_party/fpnew"]
path = third_party/fpnew
url = https://github.com/pulp-platform/fpnew.git
[submodule "third_party/softfloat"]
path = third_party/softfloat
url = https://github.com/ucb-bar/berkeley-softfloat-3.git
[submodule "third_party/ramulator"]
path = third_party/ramulator
url = https://github.com/CMU-SAFARI/ramulator2.git
[submodule "third_party/cvfpu"]
path = third_party/cvfpu
url = https://github.com/openhwgroup/cvfpu.git
26 changes: 12 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Vortex is a full-stack open-source RISC-V GPGPU.
## Specifications

- Support RISC-V RV32IMAF and RV64IMAFD

- Microarchitecture:
- configurable number of cores, warps, and threads.
- configurable number of ALU, FPU, LSU, and SFU units per core.
Expand Down Expand Up @@ -32,31 +33,28 @@ Vortex is a full-stack open-source RISC-V GPGPU.
## Build Instructions
More detailed build instructions can be found [here](docs/install_vortex.md).
### Supported OS Platforms
- Ubuntu 18.04, 20.04
- Ubuntu 18.04, 20.04, 22.04, 24.04
- Centos 7
### Toolchain Dependencies
- [POCL](http://portablecl.org/)
- [LLVM](https://llvm.org/)
- [RISCV-GNU-TOOLCHAIN](https://github.com/riscv-collab/riscv-gnu-toolchain)
- [Verilator](https://www.veripool.org/verilator)
- [FpNew](https://github.com/pulp-platform/fpnew.git)
- [cvfpu](https://github.com/openhwgroup/cvfpu.git)
- [SoftFloat](https://github.com/ucb-bar/berkeley-softfloat-3.git)
- [Ramulator](https://github.com/CMU-SAFARI/ramulator.git)
- [Yosys](https://github.com/YosysHQ/yosys)
- [Sv2v](https://github.com/zachjs/sv2v)
### Install development tools
```sh
sudo apt-get install build-essential
sudo apt-get install binutils
sudo apt-get install python
sudo apt-get install uuid-dev
sudo apt-get install git
```
### Install Vortex codebase
```sh
git clone --depth=1 --recursive https://github.com/vortexgpgpu/vortex.git
cd vortex
```
### Install system dependencies
```sh
# ensure dependent libraries are present
sudo ./ci/install_dependencies.sh
```
### Configure your build folder
```sh
mkdir build
Expand Down Expand Up @@ -91,19 +89,19 @@ make -s
make -s
make install
```
- Building Vortex 64-bit simply requires using --xlen=64 configure option.
- Building Vortex 64-bit requires setting --xlen=64 configure option.
```sh
../configure --xlen=32 --tooldir=$HOME/tools
../configure --xlen=64 --tooldir=$HOME/tools
```
- 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.
```sh
echo "source <build-path>/ci/toolchain_env.sh" >> ~/.bashrc
```
- 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.
- 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.
```sh
../configure
```
- To debug the GPU, you can generate a "run.log" trace. see /docs/debugging.md for more information.
- To debug the GPU, the simulation can generate a runtime trace for analysis. See /docs/debugging.md for more information.
```sh
./ci/blackbox.sh --app=demo --debug=3
```
Expand Down
Loading

0 comments on commit 91c135a

Please sign in to comment.