Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

open source compiler match with cmodel master version? #53

Open
andyzheng-snps opened this issue Jan 9, 2020 · 4 comments
Open

open source compiler match with cmodel master version? #53

andyzheng-snps opened this issue Jan 9, 2020 · 4 comments

Comments

@andyzheng-snps
Copy link

Does somebody try to use open source compiler to compile loadable and run vp? I tried several configuration including int8 and fp16, vp can not run successfully.
1 compiler setting
./nvdla_compiler --prototxt ResNet-50-deploy.prototxt --caffemodel ResNet-50-model.caffemodel --configtarget nv_small --profile basic --cprecision fp16

./nvdla_compiler --prototxt ResNet-50-deploy.prototxt --caffemodel ResNet-50-model.caffemodel --configtarget nv_small --profile basic --cprecision int8 --calibtable /remote/ailab2/zhaoqing/nvdla/sw-new/umd/utils/calibdata/resnet50.json

2 add #define DLA_2_CONFIG into below file to match cmodel for base address of registers.
kmd/firmware/include/opendla.h

2 c model master version with nv_small configuration.

@prasshantg
Copy link

fp16 is not supported with nv_small

I have some instructions documented at https://github.com/prasshantg/personal check if it helps

@andyzheng-snps
Copy link
Author

andyzheng-snps commented Jan 10, 2020

thanks prasshantg for sharing.
I used below setting same with you, there are some errors. How about you?


% ./nvdla_compiler --prototxt ResNet-50-deploy.prototxt --caffemodel ResNet-50-model.caffemodel --configtarget nv_small --profile fast-math --cprecision int8 --calibtable nvdla/sw-new/umd/utils/calibdata/resnet50.json --quantizationMode per-filter --batch 1 --informat nhwc
creating new wisdom context...
opening wisdom context...
parsing caffe network...
libnvdla<3> mark prob
Marking total 1 outputs
parsing calibration table...
attaching parsed network to the wisdom...
compiling profile "fast-math"... config "nv_small"...
(DLA) Error 0x00000002: Don't support 0 (in engine-ast/ConvCoreNode.cpp, function tryToMergeWithBatchNormOp(), line 1240)
(DLA) Error 0x00000002: Don't support 0 (in engine-ast/ConvCoreNode.cpp, function tryToMergeWithBatchNormOp(), line 1240)
(DLA) Error 0x00000002: Don't support 0 (in engine-ast/ConvCoreNode.cpp, function tryToMergeWithBatchNormOp(), line 1240)
(DLA) Error 0x00000002: Don't support 0 (in engine-ast/ConvCoreNode.cpp, function tryToMergeWithBatchNormOp(), line 1240)
libnvdla<2> Scale value 1 for 1.41276e-06 is too small (threshold: 2)
libnvdla<2> Scale value 1 for 1.01866e-06 is too small (threshold: 2)
libnvdla<2> Scale value 1 for 1.48463e-06 is too small (threshold: 2)
(DLA) Error 0x0000000b: Scale value is 0 for 0.000000
(in ./include/priv/LowPrecision.h, function scaleAndShiftFromScalarImpl2(), line 281)
libnvdla<2> Scale value 1 for 1.62639e-06 is too small (threshold: 2)
(DLA) Error 0x0000000b: Scale value is 0 for 0.000000
(in ./include/priv/LowPrecision.h, function scaleAndShiftFromScalarImpl2(), line 281)
(DLA) Error 0x0000000b: Scale value is 0 for 0.000000
(in ./include/priv/LowPrecision.h, function scaleAndShiftFromScalarImpl2(), line 281)
(DLA) Error 0x0000000b: Scale value is 0 for 0.000000
(in ./include/priv/LowPrecision.h, function scaleAndShiftFromScalarImpl2(), line 281)
libnvdla<2> Scale value 1 for 6.84193e-07 is too small (threshold: 2)
(DLA) Error 0x0000000b: Scale value is 0 for 0.000000
(in ./include/priv/LowPrecision.h, function scaleAndShiftFromScalarImpl2(), line 281)
libnvdla<2> Scale value 1 for 5.3635e-07 is too small (threshold: 2)
(DLA) Error 0x0000000b: Scale value is 0 for 0.000000
(in ./include/priv/LowPrecision.h, function scaleAndShiftFromScalarImpl2(), line 281)
(DLA) Error 0x0000000b: Scale value is 0 for 0.000000
(in ./include/priv/LowPrecision.h, function scaleAndShiftFromScalarImpl2(), line 281)
(DLA) Error 0x0000000b: Scale value is 0 for 0.000000
(in ./include/priv/LowPrecision.h, function scaleAndShiftFromScalarImpl2(), line 281)
libnvdla<2> Scale value 1 for 2.58676e-07 is too small (threshold: 2)
closing wisdom context...

@ICfirefire
Copy link

thanks prasshantg for sharing.
I used below setting same with you, there are some errors. How about you?

% ./nvdla_compiler --prototxt ResNet-50-deploy.prototxt --caffemodel ResNet-50-model.caffemodel --configtarget nv_small --profile fast-math --cprecision int8 --calibtable nvdla/sw-new/umd/utils/calibdata/resnet50.json --quantizationMode per-filter --batch 1 --informat nhwc
creating new wisdom context...
opening wisdom context...
parsing caffe network...
libnvdla<3> mark prob
Marking total 1 outputs
parsing calibration table...
attaching parsed network to the wisdom...
compiling profile "fast-math"... config "nv_small"...
(DLA) Error 0x00000002: Don't support 0 (in engine-ast/ConvCoreNode.cpp, function tryToMergeWithBatchNormOp(), line 1240)
(DLA) Error 0x00000002: Don't support 0 (in engine-ast/ConvCoreNode.cpp, function tryToMergeWithBatchNormOp(), line 1240)
(DLA) Error 0x00000002: Don't support 0 (in engine-ast/ConvCoreNode.cpp, function tryToMergeWithBatchNormOp(), line 1240)
(DLA) Error 0x00000002: Don't support 0 (in engine-ast/ConvCoreNode.cpp, function tryToMergeWithBatchNormOp(), line 1240)
libnvdla<2> Scale value 1 for 1.41276e-06 is too small (threshold: 2)
libnvdla<2> Scale value 1 for 1.01866e-06 is too small (threshold: 2)
libnvdla<2> Scale value 1 for 1.48463e-06 is too small (threshold: 2)
(DLA) Error 0x0000000b: Scale value is 0 for 0.000000
(in ./include/priv/LowPrecision.h, function scaleAndShiftFromScalarImpl2(), line 281)
libnvdla<2> Scale value 1 for 1.62639e-06 is too small (threshold: 2)
(DLA) Error 0x0000000b: Scale value is 0 for 0.000000
(in ./include/priv/LowPrecision.h, function scaleAndShiftFromScalarImpl2(), line 281)
(DLA) Error 0x0000000b: Scale value is 0 for 0.000000
(in ./include/priv/LowPrecision.h, function scaleAndShiftFromScalarImpl2(), line 281)
(DLA) Error 0x0000000b: Scale value is 0 for 0.000000
(in ./include/priv/LowPrecision.h, function scaleAndShiftFromScalarImpl2(), line 281)
libnvdla<2> Scale value 1 for 6.84193e-07 is too small (threshold: 2)
(DLA) Error 0x0000000b: Scale value is 0 for 0.000000
(in ./include/priv/LowPrecision.h, function scaleAndShiftFromScalarImpl2(), line 281)
libnvdla<2> Scale value 1 for 5.3635e-07 is too small (threshold: 2)
(DLA) Error 0x0000000b: Scale value is 0 for 0.000000
(in ./include/priv/LowPrecision.h, function scaleAndShiftFromScalarImpl2(), line 281)
(DLA) Error 0x0000000b: Scale value is 0 for 0.000000
(in ./include/priv/LowPrecision.h, function scaleAndShiftFromScalarImpl2(), line 281)
(DLA) Error 0x0000000b: Scale value is 0 for 0.000000
(in ./include/priv/LowPrecision.h, function scaleAndShiftFromScalarImpl2(), line 281)
libnvdla<2> Scale value 1 for 2.58676e-07 is too small (threshold: 2)
closing wisdom context...

hello, did you fix this problem?

@H2OD
Copy link

H2OD commented Feb 13, 2023

hello, I have the same problem, did you fix it?

hello, I have the same problem, did you fix it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants