top | item 18674754

(no title)

andrew-wja | 7 years ago

In the compiler we need to add backends to cuDNN and probably some OpenCL DNN framework -- this is already fairly high on our list of priorities.

discuss

order

disdi|7 years ago

I am really not able to connect the dots here. Bear with me for my ignorance since I am from OS/drivers background and not a compiler guy.

Can I compile code at below link with nvcc(Nvidia compiler) - https://bitbucket.org/STG-TCD/trinnity/src/b33c94e1fabd18f83...

If I write gemm.cl like above program implementing a bunch of CNN primitives, why I cannot compile it with gcc.

For compiling any Opencl program, I need to write kernel in suppose sample.cl file and compile it with gcc –Wall sample.cl –o sample -lOpenCL

This -lOpenCL picks up libopencl.so file from my Hardware vendor(Qcom, Intel) and generates the binary which runs it on GPU(or whereever Opencl is available)

Why do I need anything trinity compiler and optimizer.

andrew-wja|7 years ago

The short answer is that there are dozens of ways to use that GEMM to do convolution (convolution algorithms), and there are NUM_ALGORITHMS * NUM_LAYERS way to implement the network.

Our toolkit figures out which of those arrangements are the fast ones!