From 607decb448b285ef86e202d4edef84259f60e8c2 Mon Sep 17 00:00:00 2001 From: John Ramsden Date: Fri, 24 Nov 2023 22:19:03 -0800 Subject: [PATCH] Update readme for GPU --- GPU_HDC/README.md | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/GPU_HDC/README.md b/GPU_HDC/README.md index eaf4b21..5c2fd05 100644 --- a/GPU_HDC/README.md +++ b/GPU_HDC/README.md @@ -1,20 +1,19 @@ -# PIM HDC +# GPU HDC -Hyperdimensional computing accelerator using processing in-memory. +Hyperdimensional computing accelerator using CUDA. ## Usage ```text -usage: ./pim_hdc [ -d ] -i - d: use DPU +usage: ./gpu_hdc [ -d ] -i i: input file r: show runtime only s: show results - t: test results - Compare host against DPU + t: test results h: help message ``` -Example: Run HDC on DPU and host and verify they are the same: +Example: Run HDC on GPU and host and verify they are the same: ```shell script ./pim_hdc -i data/large-data.bin -t @@ -24,11 +23,8 @@ Example: Run HDC on DPU and host and verify they are the same: The following are compile time settable options and their defaults: -* `NR_BLOCKS = 32` -* `NR_THREADS = 1` - -* `SHOW_DPU_LOGS = 1` - Print DPU logs to `stdout` -* `BULK_XFER = 1` - Use bulk transfers to read and write data to DPU +* `NR_BLOCKS = 8192` +* `NR_THREADS = 192` The following should not be reduced unless a non-default dataset is used, and they already represent the exact data sizes: @@ -37,7 +33,7 @@ and they already represent the exact data sizes: * `MAX_CHANNELS = 4` * `MAX_N = 5` * `MAX_IM_LENGTH = 22` -* `MAX_INPUT = 384` +* `HDC_MAX_INPUT = 4096` ## Implementation @@ -47,10 +43,6 @@ The following is a high-level description of the hyperdimensional accelerator. * A item memory (IM) maps all symbols in the system to the HD space. - In the case where `iM` is kept in MRAM (the default), it is defined in in [src/dpu/dpu_task.c](src/dpu/dpu_task.c). - - When kept in WRAM, IM is defined in [include/init.h](include/init.h): - IM can be thought of as a multi-dimensional array: ```C @@ -71,10 +63,6 @@ The following is a high-level description of the hyperdimensional accelerator. * A continuous item memory (CIM) extends the notion of item memory to analog values (e.g., the signal levels of channels) for mapping. - In the case where CIM is kept in MRAM (the default), it is defined in in [src/dpu/dpu_task.c](src/dpu/dpu_task.c). - - When kept in WRAM, CIM is defined in [include/init.h](include/init.h): - CIM can be thought of as a multi-dimensional array: ```C