merrymercy / tvm-mali Goto Github PK
View Code? Open in Web Editor NEWOptimizing Mobile Deep Learning on ARM GPU with TVM
Home Page: http://tvmlang.org/2018/01/16/opt-mali-gpu.html
License: MIT License
Optimizing Mobile Deep Learning on ARM GPU with TVM
Home Page: http://tvmlang.org/2018/01/16/opt-mali-gpu.html
License: MIT License
hi, @merrymercy
I am working on winograd on cuda.
I found that batched MM in your winograd is slow in nvida architecure. I guest this is because when C is large, it could not use parallel power of GPU.
Do you have any idea about this part?
Thanks
I'm running on 32 bits version of Debian Stretch with some issues. What OS image was used for the test?
BR
hi,
This is a great job.
How to save the generated opencl code into a file?
Thanks
hi, @merrymercy
will get_workload load pretrained weights? Where could I find fp16 mobilenet pretrained weight?
Thanks
I import YOLOv2_tiny.onnx from the link below using mali on firefly3399 and got an error on nnvm.compiler.build. It looks like something wrong with conv2d which mail supports. Any idea?
https://github.com/tkat0/chainer-nnvm-example
Traceback (most recent call last):
File "mali_imagenet_bench.py", line 102, in
run_case('tinyYolo2', 'float32')
File "mali_imagenet_bench.py", line 42, in run_case
graph, lib, params = nnvm.compiler.build(net, tvm.target.mali(), shape={input_name: data_shape}, params=params, dtype=dtype, target_host=args.target_host)
File "/usr/local/lib/python2.7/dist-packages/nnvm-0.8.0-py2.7.egg/nnvm/compiler/build_module.py", line 251, in build
graph = graph.apply("GraphFusePartition").apply("GraphFuseCompile")
File "/usr/local/lib/python2.7/dist-packages/nnvm-0.8.0-py2.7.egg/nnvm/graph.py", line 235, in apply
check_call(_LIB.NNGraphApplyPasses(self.handle, npass, cpass, ctypes.byref(ghandle)))
File "/usr/local/lib/python2.7/dist-packages/nnvm-0.8.0-py2.7.egg/nnvm/_base.py", line 72, in check_call
raise NNVMError(py_str(_LIB.NNGetLastError()))
nnvm._base.NNVMError: TVMCall CFunc Error:
Traceback (most recent call last):
File "tvm/_ffi/_cython/function.pxi", line 39, in core.tvm_callback (tvm/_ffi/_cython/core.cpp:3206)
File "/usr/local/lib/python2.7/dist-packages/nnvm-0.8.0-py2.7.egg/nnvm/top/nn.py", line 123, in compute_conv2d
out = topi.nn.conv2d(inputs[0], inputs[1], strides, padding)
File "", line 2, in conv2d
File "/usr/local/lib/python2.7/dist-packages/tvm-0.1.0-py2.7-linux-x86_64.egg/tvm/target.py", line 222, in dispatch_func
return dispatch_dict[k](*args, **kwargs)
File "build/bdist.linux-x86_64/egg/topi/mali/conv2d.py", line 100, in decl_conv2d
return _decl_direct(data, kernel, stride, padding, layout, out_dtype)
File "build/bdist.linux-x86_64/egg/topi/mali/conv2d.py", line 184, in _decl_direct
assert OW % VW == 0, "OW: %d VW : %d" % (OW, VW)
AssertionError: OW: 22 VW : 4
Thanks,
Is there any tune guide?
Which parameters could be tuned? Why set num_thread = 8?
Thanks
Hi, I saw you do the benchmark test on RK3399. RK3288 has a Mali-T764 GPU. We tried it but the opencl has some problem recognizing the GPU. Do you have idea if TVM supports RK3288?
hi, @merrymercy
in conv2d.py, winograd algorithm do G and B like normal matrix multiplication, this will not reduce multiplication by plus/minus. Is this understood correct?
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.