diff --git a/.gitignore b/.gitignore index 2c410e0..b43fb40 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,8 @@ bin/* *tmp* paper.* +ieee.csl +two.setup +risp_eventbased.png +risp_ringbuffer.png +effective_neuromorphic_sim.bib diff --git a/framework-open b/framework-open index c9bdf30..e205b92 160000 --- a/framework-open +++ b/framework-open @@ -1 +1 @@ -Subproject commit c9bdf30f2fb17b2ae0a3cb9f92c6046a83ea1f80 +Subproject commit e205b921287493b400ad88bad90d83293a9896e5 diff --git a/makefile b/makefile index 6cd5ad9..d91ee2a 100644 --- a/makefile +++ b/makefile @@ -15,6 +15,7 @@ VRISP_OBJ = framework-open/obj/vrisp.o framework-open/obj/vrisp_static.o VRISP_RVV_FULL_OBJ = framework-open/obj/vrisp_rvv_full.o framework-open/obj/vrisp_static.o VRISP_RVV_FIRED_OBJ = framework-open/obj/vrisp_rvv_fired.o framework-open/obj/vrisp_static.o VRISP_RVV_SYNAPSES_OBJ = framework-open/obj/vrisp_rvv_synapses.o framework-open/obj/vrisp_static.o +VRISP_RVV_DVLEN_OBJ = framework-open/obj/vrisp_rvv_dvlen.o framework-open/obj/vrisp_static.o FRAMEWORK_DIR = framework-open/ DBSCAN_DIR = dbscan/ @@ -27,12 +28,14 @@ all: dbscan/bin/dbscan_systolic_full \ bin/connectivity_app_vrisp \ riscv_vector: all \ - bin/dbscan_app_vrisp_vector_full \ - bin/dbscan_app_vrisp_vector_fired \ - bin/dbscan_app_vrisp_vector_synapses \ - bin/connectivity_app_vrisp_vector_full \ - bin/connectivity_app_vrisp_vector_fired \ - bin/connectivity_app_vrisp_vector_synapses + bin/dbscan_app_vrisp_vector_full \ + bin/dbscan_app_vrisp_vector_fired \ + bin/dbscan_app_vrisp_vector_synapses \ + bin/dbscan_app_vrisp_vector_dvlen \ + bin/connectivity_app_vrisp_vector_full \ + bin/connectivity_app_vrisp_vector_fired \ + bin/connectivity_app_vrisp_vector_synapses \ + bin/connectivity_app_vrisp_vector_dvlen tutorial: bin/tutorial_app_vrisp @@ -54,6 +57,9 @@ bin/dbscan_app_vrisp_vector_fired: src/dbscan_app.cpp $(VRISP_RVV_FIRED_OBJ) $(F bin/dbscan_app_vrisp_vector_synapses: src/dbscan_app.cpp $(VRISP_RVV_SYNAPSES_OBJ) $(FR_LIB) $(CXX) $(FR_CFLAGS) -o $@ $^ +bin/dbscan_app_vrisp_vector_dvlen: src/dbscan_app.cpp $(VRISP_RVV_DVLEN_OBJ) $(FR_LIB) + $(CXX) $(FR_CFLAGS) -o $@ $^ + bin/connectivity_app_risp: src/connectivity_app.cpp $(RISP_OBJ) $(FR_LIB) $(CXX) $(FR_CFLAGS) -o $@ $^ @@ -69,6 +75,9 @@ bin/connectivity_app_vrisp_vector_fired: src/connectivity_app.cpp $(VRISP_RVV_FI bin/connectivity_app_vrisp_vector_synapses: src/connectivity_app.cpp $(VRISP_RVV_SYNAPSES_OBJ) $(FR_LIB) $(CXX) $(FR_CFLAGS) -o $@ $^ +bin/connectivity_app_vrisp_vector_dvlen: src/connectivity_app.cpp $(VRISP_RVV_DVLEN_OBJ) $(FR_LIB) + $(CXX) $(FR_CFLAGS) -o $@ $^ + bin/tutorial_app_vrisp: tutorial/src/tutorial_and_app.cpp $(VRISP_OBJ) $(FR_LIB) $(CXX) $(FR_CFLAGS) -o $@ $^ @@ -108,6 +117,9 @@ framework-open/obj/vrisp_rvv_fired.o: framework-open/src/vrisp.cpp $(FR_INC) $(V framework-open/obj/vrisp_rvv_synapses.o: framework-open/src/vrisp.cpp $(FR_INC) $(VRISP_INC) $(CXX) -c $(FR_CFLAGS) -DRISCVV_SYNAPSES -o framework-open/obj/vrisp_rvv_synapses.o framework-open/src/vrisp.cpp +framework-open/obj/vrisp_rvv_dvlen.o: framework-open/src/vrisp.cpp $(FR_INC) $(VRISP_INC) + $(CXX) -c $(FR_CFLAGS) -DRISCVV_DVLEN -o framework-open/obj/vrisp_rvv_dvlen.o framework-open/src/vrisp.cpp + framework-open/obj/vrisp_static.o: framework-open/src/vrisp_static.cpp $(FR_INC) $(VRISP_INC) $(CXX) -c $(FR_CFLAGS) -o framework-open/obj/vrisp_static.o framework-open/src/vrisp_static.cpp diff --git a/scripts/dbscan_benchmark.bash b/scripts/dbscan_benchmark.bash index 0812c0d..4dd81a9 100644 --- a/scripts/dbscan_benchmark.bash +++ b/scripts/dbscan_benchmark.bash @@ -13,7 +13,7 @@ main() { local experiment_prefix="${1}" if [ -n "${2:-}" ]; then - PROCESSORS+=(vr_full vr_fired vr_synapses) + PROCESSORS+=(vr_full vr_fired vr_synapses vr_dvlen) fi local -a dbscan_params=(1_7 2_18 3_36 4_60 5_90 6_120) @@ -46,6 +46,10 @@ main() { vr_synapses=($(for activity_percentage in {0..100}; do bin/dbscan_app_vrisp_vector_synapses "${temp_file}" "${activity_percentage}" 10 | awk -F':' '{ printf("%.8f ", 1/$2) }' done)) + + vr_dvlen=($(for activity_percentage in {0..100}; do + bin/dbscan_app_vrisp_vector_dvlen "${temp_file}" "${activity_percentage}" 10 | awk -F':' '{ printf("%.8f ", 1/$2) }' + done)) fi printf '#+PLOT: title:"DBScan Epsilon: %s, Min. Pts.: %s"\n' "${epsilon}" "${min_pts}" @@ -76,6 +80,7 @@ main() { printf '%s ' "${vr_full[${i}]}" printf '%s ' "${vr_fired[${i}]}" printf '%s ' "${vr_synapses[${i}]}" + printf '%s ' "${vr_dvlen[${i}]}" fi printf '|\n'