Commit dc43e782 authored by Leonardo Solis's avatar Leonardo Solis
Browse files

added hw-emu/correction rules in Makefile


Former-commit-id: 2bf3e386
parent 8a26a571
......@@ -4,6 +4,14 @@
source /opt/cad/xilinx/sdx/SDx/2017.4/settings64.sh
```
# Documentation
A detailed explanation can be found in:
_"SDAccel Environment Tutorial: Introduction (UG1021)"_
Chapter 2 (_Flow Overview_) -> Lab 2 (_Introduction to the SDAccel Makefile_)
# Important commands
* See basic rules under [Makefile](./ofdock_taskpar_xl/Makefile)
......@@ -21,3 +29,9 @@ make swemu
```zsh
make hw
```
## Where to find reports
A Makefile flow is used.
In order to generate additional reports, a [`sdaccel_ini`](./ofdock_taskpar_xl/sdaccel.ini) was created.
......@@ -555,14 +555,15 @@ FIPO_FLAG = $(FIPOCO_FLAG) \
$(COPYPOPENE_FLAG) $(SEP_FGRID_FLAG)
OTHER_FLAGS=
ifeq ($(TARGETS), sw_emu)
OTHER_FLAGS=-DSW_EMU
else
OTHER_FLAGS=
endif
ifeq ($(TARGETS), hw_emu)
OTHER_FLAGS=-DSW_EMU
endif
#https://www.xilinx.com/html_docs/xilinx2018_1/sdsoc_doc/nts1517252127891.html
#CLFLAGS:= --xp "param:compiler.preserveHlsOutput=1" --xp "param:compiler.generateExtraRunData=true" -s
......
......@@ -85,6 +85,14 @@ CHECKS=check
include $(COMMON_REPO)/utility/rules.mk
# Note that the definition of "newline" contains two blank lines.
# Using $(newline) will expand into only one newline.
define newline
endef
# Docking parameters
# that directly determine the execution time
# Following values are used only for emulation
......@@ -93,20 +101,46 @@ PDB := 1stp
NRUN := 5
NEV := 800000
# Compile and generate report
kerrpt-sw:
make clean
@echo $(newline)
make all REPORT=estimate TARGETS=sw_emu
@echo $(newline)
cp ./xclbin/$(XCLBINS).sw_emu.*.xclbin .
@echo $(newline)
mv ./$(XCLBINS).sw_emu.*.xclbin ./$(XCLBINS).xclbin
@echo $(newline)
@echo "==========================================================================="
@echo "INFO: sw emulation file created under: ./xclbin/$(XCLBINS).sw_emu.*.xclbin "
@echo "INFO: ... was copied and renamed as ./$(XCLBINS).xclbin "
@echo $(newline)
@echo "INFO: a ./system_estimate.xtxt report was generated! "
@echo "==========================================================================="
@echo $(newline)
# Compile for sw and hw emulation
kerswemu:
make TARGETS=sw_emu all
make all TARGETS=sw_emu
cp ./xclbin/$(XCLBINS).sw_emu.*.xclbin .
mv ./$(XCLBINS).sw_emu.*.xclbin ./$(XCLBINS).xclbin
@echo " "
@echo "========================================================================"
@echo "INFO: emulation file created under: ./xclbin/$(XCLBINS).sw_emu.*.xclbin "
@echo "INFO: ... was copied and renamed as ./$(XCLBINS).xclbin "
@echo "========================================================================"
@echo " "
@echo $(newline)
@echo "==========================================================================="
@echo "INFO: sw emulation file created under: ./xclbin/$(XCLBINS).sw_emu.*.xclbin "
@echo "INFO: ... was copied and renamed as ./$(XCLBINS).xclbin "
@echo "==========================================================================="
@echo $(newline)
kerhwemu:
make TARGETS=hw_emu all
make all TARGETS=hw_emu
cp ./xclbin/$(XCLBINS).hw_emu.*.xclbin .
mv ./$(XCLBINS).hw_emu.*.xclbin ./$(XCLBINS).xclbin
@echo $(newline)
@echo "==========================================================================="
@echo "INFO: hw emulation file created under: ./xclbin/$(XCLBINS).hw_emu.*.xclbin "
@echo "INFO: ... was copied and renamed as ./$(XCLBINS).xclbin "
@echo "==========================================================================="
@echo $(newline)
# Run emulation
# Compilation (host & device) if not done previously
......@@ -114,23 +148,43 @@ kerhwemu:
# "exe" and "xclbin" are rules from "rules.mk"
swemu: kerswemu
XCL_EMULATION_MODE=sw_emu ./$(EXES) -ffile input/$(PDB)/derived/$(PDB)_protein.maps.fld -lfile input/$(PDB)/derived/$(PDB)_ligand.pdbqt -nev $(NEV) -nrun $(NRUN) -gfpop 1
@echo " "
@echo "======================================="
@echo "INFO: log file is under: ./docking.dlg "
@echo "======================================="
@echo " "
@echo $(newline)
@echo "========================================================================="
@echo "INFO: swemu log file is under: ./docking.dlg "
@echo $(newline)
@echo "INFO: profile and timeline trace report files are formatted for SDx GUI "
@echo "INFO: ... if reports not generated, verify that sdaccel.ini exists!"
@echo $(newline)
sdx_analyze profile sdaccel_profile_summary.csv
@echo $(newline)
sdx_analyze trace sdaccel_timeline_trace.csv
@echo "========================================================================="
@echo $(newline)
hwemu: kerhwemu
XCL_EMULATION_MODE=hw_emu ./$(EXES) -ffile input/$(PDB)/derived/$(PDB)_protein.maps.fld -lfile input/$(PDB)/derived/$(PDB)_ligand.pdbqt -nev $(NEV) -nrun $(NRUN) -gfpop 1
@echo $(newline)
@echo "========================================================================="
@echo "INFO: hwemu log file is under: ./docking.dlg "
@echo $(newline)
@echo "INFO: profile and timeline trace report files are formatted for SDx GUI "
@echo "INFO: ... if reports not generated, verify that sdaccel.ini exists!"
@echo $(newline)
sdx_analyze profile sdaccel_profile_summary.csv
@echo $(newline)
sdx_analyze trace sdaccel_timeline_trace.csv
@echo "========================================================================="
@echo $(newline)
# Build hw (FPGA bitstream)
# NOT integrated yet in a multistep compilation
hw:
make TARGETS=hw all
@echo " "
@echo "=========================================================================="
@echo "INFO: FPGA bitstream is under: $(TARGET_DIR_HW)/$(KRNL_NAME)(.aoco)(.aocx)"
@echo "=========================================================================="
@echo " "
@echo $(newline)
@echo "======================================================================="
@echo "INFO: FPGA bitstream is under: ./xclbin/$(XCLBINS).hw.*.xclbin"
@echo "======================================================================="
@echo $(newline)
debug:
sw-debug:
XCL_EMULATION_MODE=sw_emu xgdb -args ./$(EXES) -ffile input/1stp/derived/1stp_protein.maps.fld -lfile input/1stp/derived/1stp_ligand.pdbqt -nrun 1 -nev 100 -lsit 10 -psize 10
......@@ -21,8 +21,8 @@ __kernel __attribute__ ((max_global_work_dim(0)))
__kernel __attribute__ ((reqd_work_group_size(1,1,1)))
void Krnl_IGL_Arbiter(/*unsigned char DockConst_num_of_genes*/
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument
// for hw_emu and hw build
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
__global int *dummy
#endif
......
......@@ -23,6 +23,8 @@ void Krnl_LS(
unsigned char DockConst_cons_limit
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......
......@@ -23,6 +23,8 @@ void Krnl_LS2(
unsigned char DockConst_cons_limit
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......
......@@ -23,6 +23,8 @@ void Krnl_LS3(
unsigned char DockConst_cons_limit
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......
......@@ -23,6 +23,8 @@ void Krnl_LS4(
unsigned char DockConst_cons_limit
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......
......@@ -23,6 +23,8 @@ void Krnl_LS5(
unsigned char DockConst_cons_limit
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......
......@@ -23,6 +23,8 @@ void Krnl_LS6(
unsigned char DockConst_cons_limit
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......
......@@ -23,6 +23,8 @@ void Krnl_LS7(
unsigned char DockConst_cons_limit
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......
......@@ -23,6 +23,8 @@ void Krnl_LS8(
unsigned char DockConst_cons_limit
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......
......@@ -23,6 +23,8 @@ void Krnl_LS9(
unsigned char DockConst_cons_limit
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......
......@@ -12,6 +12,8 @@ void Krnl_Prng_BT_ushort_float(
unsigned int DockConst_pop_size
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......@@ -109,6 +111,8 @@ void Krnl_Prng_GG_uchar(
unsigned char DockConst_num_of_genes
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......@@ -179,6 +183,8 @@ void Krnl_Prng_GG_float(
unsigned char DockConst_num_of_genes
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......@@ -248,6 +254,8 @@ void Krnl_Prng_LS123_ushort(
unsigned int DockConst_pop_size
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......@@ -360,6 +368,8 @@ void Krnl_Prng_LS_float(
unsigned char DockConst_num_of_genes
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......@@ -432,6 +442,8 @@ void Krnl_Prng_LS2_float(
unsigned char DockConst_num_of_genes
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......@@ -504,6 +516,8 @@ void Krnl_Prng_LS3_float(
unsigned char DockConst_num_of_genes
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......@@ -577,6 +591,8 @@ void Krnl_Prng_LS4_float(
unsigned char DockConst_num_of_genes
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......@@ -649,6 +665,8 @@ void Krnl_Prng_LS5_float(
unsigned char DockConst_num_of_genes
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......@@ -721,6 +739,8 @@ void Krnl_Prng_LS6_float(
unsigned char DockConst_num_of_genes
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......@@ -793,6 +813,8 @@ void Krnl_Prng_LS7_float(
unsigned char DockConst_num_of_genes
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......@@ -865,6 +887,8 @@ void Krnl_Prng_LS8_float(
unsigned char DockConst_num_of_genes
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......@@ -937,6 +961,8 @@ void Krnl_Prng_LS9_float(
unsigned char DockConst_num_of_genes
#if !defined(SW_EMU)
// IMPORTANT: enable this dummy global argument only for "hw" build.
// Check ../common_xilinx/utility/boards.mk
// https://forums.xilinx.com/t5/SDAccel/ERROR-KernelCheck-83-114-in-sdx-2017-4/td-p/818135
,
__global int *dummy
......
[Debug]
timeline_trace = true
device_profile = true
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment