minor updates

This commit is contained in:
Blaise Tine 2023-07-02 18:27:03 -04:00
parent 34206598e7
commit 0048496ba2
5 changed files with 84 additions and 47 deletions

View file

@ -19,9 +19,10 @@ install:
# Install toolchain
- export TOOLDIR=$HOME/tools
- mkdir -p $TOOLDIR
- DESTDIR=$TOOLDIR ./ci/toolchain_install.sh -all
- DESTDIR=$TOOLDIR ./ci/toolchain_install.sh --all
# Set environments
- export RISCV_TOOLCHAIN_PATH=$TOOLDIR/riscv-gnu-toolchain
- export LLVM_POCL=$TOOLDIR/llvm-pocl
- export LLVM_VORTEX=$TOOLDIR/llvm-vortex
- export VERILATOR_ROOT=$TOOLDIR/verilator
- export PATH=$VERILATOR_ROOT/bin:$PATH

View file

@ -42,20 +42,21 @@ Vortex is a full-system RISCV-based GPGPU processor.
$ sudo apt-get install build-essential
$ sudo apt-get install git
### Install Vortex codebase
$ git clone --recursive https://github.com/vortexgpgpu/vortex-dev.git
$ git clone --recursive https://github.com/vortexgpgpu/vortex.git
$ cd Vortex
### Install prebuilt toolchain
$ ./ci/toolchain_install.sh -all
$ ./ci/toolchain_install.sh --all
By default, the toolchain will install to /opt folder. You can install the toolchain to a different directory by overiding DESTDIR.
$ DESTDIR=$TOOLDIR ./ci/toolchain_install.sh -all
$ export VORTEX_HOME=$TOOLDIR/vortex-gfx
$ DESTDIR=$TOOLDIR ./ci/toolchain_install.sh --all
$ export VORTEX_HOME=$TOOLDIR/vortex
$ export LLVM_VORTEX=$TOOLDIR/llvm-vortex
$ export RISCV_TOOLCHAIN_PATH=$TOOLDIR/riscv64-gnu-toolchain
$ export LLVM_VORTEX=$TOOLDIR/llvm-pocl
$ export RISCV_TOOLCHAIN_PATH=$TOOLDIR/riscv-gnu-toolchain
$ export VERILATOR_ROOT=$TOOLDIR/verilator
$ export PATH=$VERILATOR_ROOT/bin:$PATH
### Build Vortex sources
$ make -s
### Quick demo running vecadd OpenCL kernel on 2 cores
$ ./ci/blackbox.sh --driver=rtlsim --cores=2 --app=vecadd
$ ./ci/blackbox.sh --cores=2 --app=vecadd

View file

@ -45,7 +45,7 @@ riscv64()
rm -rf riscv64-gnu-toolchain
}
llvm()
llvm-vortex()
{
case $OS in
"centos/7") parts=$(eval echo {a..b}) ;;
@ -64,6 +64,25 @@ llvm()
rm -rf llvm-vortex
}
llvm-pocl()
{
case $OS in
"centos/7") parts=$(eval echo {a..b}) ;;
*) parts=$(eval echo {a..b}) ;;
esac
echo $parts
rm -f llvm-pocl.tar.bz2.parta*
for x in $parts
do
wget $REPOSITORY/llvm-pocl/$OS/llvm-pocl.tar.bz2.parta$x
done
cat llvm-pocl.tar.bz2.parta* > llvm-pocl.tar.bz2
tar -xvf llvm-pocl.tar.bz2
cp -r llvm-vorpocltex $DESTDIR
rm -f llvm-pocl.tar.bz2*
rm -rf llvm-pocl
}
pocl()
{
wget $REPOSITORY/pocl/$OS/pocl.tar.bz2
@ -85,32 +104,35 @@ verilator()
show_usage()
{
echo "Install Pre-built Vortex Toolchain"
echo "Usage: $0 [[-riscv] [-riscv64] [-llvm] [-pocl] [-verilator] [-all] [-h|--help]]"
echo "Usage: $0 [[--riscv] [--riscv64] [--llvm-vortex] [--llvm-pocl] [--pocl] [--verilator] [--all] [-h|--help]]"
}
while [ "$1" != "" ]; do
case $1 in
-pocl ) pocl
--pocl ) pocl
;;
-verilator ) verilator
;;
-riscv ) riscv
;;
-riscv64 ) riscv64
;;
-llvm ) llvm
--verilator ) verilator
;;
--riscv ) riscv
;;
--riscv64 ) riscv64
;;
--llvm-vortex ) llvm-vortex
;;
--llvm-pocl ) llvm-pocl
;;
--all ) riscv
riscv64
llvm-vortex
llvm-pocl
pocl
verilator
;;
-all ) riscv
riscv64
llvm
pocl
verilator
;;
-h | --help ) show_usage
exit
;;
* ) show_usage
exit 1
exit
;;
* ) show_usage
exit 1
esac
shift
done

View file

@ -29,7 +29,7 @@ riscv64()
rm riscv64-gnu-toolchain.tar.bz2
}
llvm()
llvm-vortex()
{
echo "prebuilt llvm-vortex..."
tar -C $SRCDIR -cvjf llvm-vortex.tar.bz2 llvm-vortex
@ -38,6 +38,15 @@ llvm()
rm llvm-vortex.tar.bz2
}
llvm-pocl()
{
echo "prebuilt llvm-pocl..."
tar -C $SRCDIR -cvjf llvm-pocl.tar.bz2 llvm-pocl
split -b 50M llvm-pocl.tar.bz2 "llvm-pocl.tar.bz2.part"
mv llvm-pocl.tar.bz2.part* $DESTDIR/llvm-pocl/$OS_DIR
rm llvm-pocl.tar.bz2
}
pocl()
{
echo "prebuilt pocl..."
@ -55,32 +64,35 @@ verilator()
show_usage()
{
echo "Setup Pre-built Vortex Toolchain"
echo "Usage: $0 [[-riscv] [-llvm] [-pocl] [-verilator] [-all] [-h|--help]]"
echo "Usage: $0 [[--riscv] [--llvm-vortex] [--llvm-pocl] [--pocl] [--verilator] [--all] [-h|--help]]"
}
while [ "$1" != "" ]; do
case $1 in
-pocl ) pocl
--pocl ) pocl
;;
-verilator ) verilator
;;
-riscv ) riscv
;;
-riscv64 ) riscv64
;;
-llvm ) llvm
--verilator ) verilator
;;
--riscv ) riscv
;;
--riscv64 ) riscv64
;;
--llvm-vortex ) llvm-vortex
;;
--llvm-pocl ) llvm-pocl
;;
--all ) riscv
riscv64
llvm-vortex
llvm-pocl
pocl
verilator
;;
-all ) riscv
riscv64
llvm
pocl
verilator
;;
-h | --help ) show_usage
exit
;;
* ) show_usage
exit 1
exit
;;
* ) show_usage
exit 1
esac
shift
done

View file

@ -6,6 +6,7 @@ The directory/file layout of the Vortex codebase is as followed:
- `rtl`: hardware rtl sources
- `core`: core pipeline
- `cache`: cache subsystem
- `mem`: memory subsystem
- `fpu`: floating point unit
- `raster`: graphics rasterizer unit
- `rop`: graphics render output unit