The exist code of a posix compilant shell is 0..255. Attempting to
return -1 will error in some shells and implicitly cast to 255 in
others. Fix it by returning a legal return value.
The existing RAT ASF license auditing logic ignores any failure in the
shell pipeline rather than just the exit code of the final grep.
Adjust the logic such that failure of the various tools in the
pipeline are not elided away.
* add documentation and check for extension
* add env variable for verilator include
* fix typo
* this will test if path exist otherwise it won't buid
* check if verilator path and binary is set properly
* add ?
* remove export
* no longer needed
* Fix x86 depthwise conv2d alter_op_layout
* Small fix
* Add test case
* Fix test
* Assert kernel layout
* Minor fix
* Add get_shape function
* Minor change
* [Relay][Docs] Add parser dependency install instructions.
See https://discuss.tvm.ai/t/trouble-enabling-antlr/2783.
* Add a word.
* Update since the parser will now be committed to the repo.
* revert b/c adding the parser doesn't fix this
* [Bugfix] [VTA] VTA DRAM Have A Logic Issue May Cause GEMM Output Wrong.
Symptom:
after change “LOG_BLOCK_IN” and “LOG_BLOCK_OUT” from vta_config.json
into 7, run vta "Simple Matrix Multiply" in "simulator", the vta
calculate result for GEMM is wrong.
Sometime VTA crash with error “Check failed: phy_addr != 0 (0 vs. 0) :
trying to get address that is nullptr”
Analysis:
Simulator hardcode kPageSize into 1<<12 and physical address calculate
based on this size, when doing “insn->dram_base” calculation , because
GetElemBytes(dst_memory_type) larger than page size, different physcial
address may get same dram_base, than caused logic issue and finally
trigger GEMM out put is wrong.
Solution:
add logic to check if PAGE SIZE larger then "GetElemBytes" return value.
* address review comments.
* [Bugfix][VTA] PkgConfig cause crash in PYNQ board due to link library
not exist.
Symptom:
When run vta_get_started.py with pynq board, host crash and
complain "cannot find -lsds_lib" and "cannot find -l:libdma.so"
Reproduce:
At pynq board, delete the ./build/vta_config.json, then run rpc
server.
In host machine run vta_get_started.py, issue would reproduce.
Analysis:
This issue caused by 'PkgConfig' function still using pynq2.1
library which not exist in pynq2.4 anymore, when a "reconfig_runtime"
logic of rpc_server.py get triggered , the compile would failed due to
link library not exist.
Solution:
change the link library to libcma.so.
* [Document Change][VTA] Change pynq version from 2.3 into 2.4.
Issue:
pynq 2.3 image not available anymore from pynq download page and pynq
2.4 is the current latest image which available in the said website, after
verification, currently VTA work good with pynq 2.4 image, hence update
related document from pynq 2.3 to 2.4.
Currently, the BindVar function does not take Var type into account. This causes
two same graph structures with different var shapes to have same hash.
Structural hash is used for keeping track of which operators we have
already compiled. Because of this, two operators with different shapes end up
pointing to same compiled code. The failure is encountered at runtime, where the
expected input shape asserts are not met.
Issue:
Once change LOG_BLOCK_IN or LOG_BLOCK_OUT into > 4 value, when run vta
“Simple Matrix Multiply” or load vta, vta would crash at vta_conv2d.py.
Analysis:
This issue caused by resnet18 logic of vta_conv2d.py which have
in_filter minmum size that is 16. > 4 value would cause such in_filter
check failed then make xfer_size be empty and find_schedules function
return a empty list finally cause crash.
Solution:
add the empty list check.