[TVM Discuss] [Development/RFC] [BYOC][runtime] JSON runtime for BYOC

2020-05-05 Thread tqchen via TVM Discuss
yes, in the case of DSO module the engine creation is a function emitted by the codegen. Note that my main point is about de-coupling(the meta-data(weights) from weight) and it would be good to discuss further what the class should look like. In terms of the code part, we could certainly allo

[apache/incubator-tvm] [RFC] Make tflite frontend more data driven / improve errors. (#5519)

2020-05-05 Thread Ramana Radhakrishnan
This is a draft PR and only for discussion but not for merging as is. These are a couple of commits that show a proof of concept about how we could restructure and improve the tflite frontend. I've lightly tested these by compiling a couple of tflite models to give me some confidence that they w

[TVM Discuss] [Meetup] TVM Online Meetups

2020-05-05 Thread Jason Knight via TVM Discuss
Edit: posting this reply separately for link snapshotting purposes: @ramana-arm Great points and we will make sure that any discussion in an online meetup is a complement, rather than a substitute for RFCs, Github issues, and discuss threads. --- [Visit Topic](https://discuss.tvm.ai/t/tv

[TVM Discuss] [Development/RFC] [BYOC][runtime] JSON runtime for BYOC

2020-05-05 Thread tqchen via TVM Discuss
Thanks for the quesitions The JSON proposal is another layer of abstraction that serves as a interpreter for general workloads. As it defers the running of the library code by interpreting the "bytecode" in this case defined by a json format. I understand the objective this RFC proposes, as n

[TVM Discuss] [Development/RFC] [BYOC][runtime] JSON runtime for BYOC

2020-05-05 Thread Cody H. Yu via TVM Discuss
Thanks for the explanation. I have a further question based on your example. If I understand correctly, this example works for a scenario that a customized codegen will generate metadata and kernel code. The kernel code here may include external library APIs or graph execution engine that inte

[TVM Discuss] [Development/RFC] [BYOC][runtime] JSON runtime for BYOC

2020-05-05 Thread tqchen via TVM Discuss
Here is an example(I also updated my code above according as there is a minor problem), to construct the code manually ```python mod = ModuleMetaDataWrapper(metadata) mod.import_module(CSourceModule(dnnl_code); mod.export_library("xyz.so") loaded = tvm.runtime.load_module("xyz.so"); ``` Afte

[TVM Discuss] [Meetup] TVM Online Meetups

2020-05-05 Thread Jason Knight via TVM Discuss
@ramana-arm Great points and we will make sure that any discussion in an online meetup is a complement, rather than a substitute for RFCs, Github issues, and discuss threads. ## First OctoML Apache TVM Online Meetup - May 21 Okay, I'd like to go ahead and give this a try. Thursday, May 21 at 9

[TVM Discuss] [Development/RFC] [BYOC][runtime] JSON runtime for BYOC

2020-05-05 Thread Zhi via TVM Discuss
@tqchen Thanks for the comment and sharing of thoughts. Yes, the fundamental problem here is the serialization of code and weights. Code is relatively easy to handle and weights are the real problem. I agree that a json runtime introduces another layer of abstraction for graph which the curren

[TVM Discuss] [Development/RFC] [RFC] Improve Pull Requests with respect to bug fixes

2020-05-05 Thread Ramana Radhakrishnan via TVM Discuss
Any more opinions ? Ramana --- [Visit Topic](https://discuss.tvm.ai/t/rfc-improve-pull-requests-with-respect-to-bug-fixes/6529/4) to respond. You are receiving this because you enabled mailing list mode. To unsubscribe from these emails, [click here](https://discuss.tvm.ai/email/unsub

[TVM Discuss] [Development/RFC] [BYOC][runtime] JSON runtime for BYOC

2020-05-05 Thread tqchen via TVM Discuss
[quote="tqchen, post:4, topic:6579"] this->imported_modules[0]->GetFunction("__DestroyModule"); destroy(); } GetFunction(name) { if (name != "__InitModule" && name != "__DestroyModule") { return this->imported_modules[0]->GetFunction(name); } [/quote] also cc @FrozenGene @junrushao1994 --

[TVM Discuss] [Development/RFC] [BYOC][runtime] JSON runtime for BYOC

2020-05-05 Thread tqchen via TVM Discuss
I think these are fair problems, and json is an OK solution for some particular backends. However, I think it is in particular important for us to think about the infrastructure implication in the long run. I think we want to discuss the solution in a case by case manner. The JSON runtime is

[TVM Discuss] [Development/RFC] [BYOC][runtime] JSON runtime for BYOC

2020-05-05 Thread Luke Hutton via TVM Discuss
Thanks, I think this will be very useful. I think the benefit of this approach is that it allows the run-time to be customized much more easily. I like the idea of being able to cache an *engine* (in my case this will be a series of ACL functions) - this opens up opportunity for optimization o

[TVM Discuss] [Development/RFC] [BYOC][runtime] JSON runtime for BYOC

2020-05-05 Thread Matt Barrett via TVM Discuss
This would be a welcome addition to the BYOC infrastructure, particularly in reducing the fragmentation between approaches for different backends. I think it's also important we have a robust alternative to the CSourceModule approach as it's becoming clear that's not yet suitable for full scal

[TVM Discuss] [Development/RFC] [RFC][Tensor Core] Optimization of CNNs on Tensor Core

2020-05-05 Thread Siyuan Feng via TVM Discuss
You are right. Thank you for figuring out the bug. That's would be my fault that I focused on the classical workload (e.g. resnet), but forgot to test large shapes. It's easy to fix. Can you please create a PR? --- [Visit Topic](https://discuss.tvm.ai/t/rfc-tensor-core-optimization-of-cn

[TVM Discuss] [Development/RFC] [RFC][Tensor Core] Optimization of CNNs on Tensor Core

2020-05-05 Thread keai007 via TVM Discuss
Hi, I have tried to tune my conv2d workload ['NHWC', (32, 300, 300, 64)], but it failed for cuLaunchKernel's Grid_dim(2, 4, 9(>65535)). ``` bz = s[output].fuse(hi, wi) s[output].bind(bz, block_z) ``` It seems like there should be a H/W direction tiling config to support all shapes. -