Thanks for explaining this. I will go according to this.

- Janardhan

On Fri, May 11, 2018 at 10:14 AM, Matthias Boehm <mboe...@gmail.com> wrote:

> This particular JIRA is only partially related. Niketan and Nakul
> worked out the details - the only reason I show up as the reporter is
> that, if I remember correctly, we split a larger scoped JIRA for
> low-level optimizations (GPU, codegen, compression) into individual
> JIRAs and created the detailed tasks.
>
> Overall, I believe that sparse GPU operations would be very valuable,
> especially in the context of NLP, graphs, and structured data with
> categorical features (which often become very sparse after dummy
> coding) because in these ultra-sparse scenarios dense operations cause
> unnecessary overheads of orders of magnitude (proportional to the
> sparsity). However, creating efficient sparse GPU kernels is
> challenging due to irregularities (e.g., sparsity skew). Compared to
> CPU operations, there might still be benefit depending on the data
> location of inputs/outputs, as well as higher memory bandwidth.
>
> Even in the face of extending the codegen framework for GPUs (which is
> still on the roadmap for this year), we would still need dense/sparse
> kernels for the individual operations because we want to apply codegen
> only if we can benefit from fusion. Right now we call existing
> libraries such as cuBLAS and cuDNN and have dense kernels for a subset
> of operations such as unary and binary, and unary aggregates.
>
> Regarding ramping up on the GPU backend, maybe it's a good idea to
> first start with missing dense operations. I'm thinking of statistical
> functions (e.g., covariance, moment), parameterized builtin functions
> (e.g., grouped aggregated), missing unary and binary operations (e.g.,
> bitwise), missing reorg operations (e.g., reshape, sort - there should
> be library for the latter), missing unary, binary and ternary
> aggregates, missing nary (e.g., nary cbind/rbind), etc. Adding these
> remaining operations would also help a lot. However, if you're more
> interested in contributing to the development of sparse kernels, maybe
> you could one or two dense operations, get comfortable, and then move
> on to sparse operations. Apart from the kernels, a seamless support
> for sparse operations would also require some integration work on how
> we pass data, maintain nnz, preallocate sparse outputs, etc.
>
> Regards,
> Matthias
>
>
> On Thu, May 10, 2018 at 8:47 PM, Janardhan <janard...@apache.org> wrote:
> > Hi Matthias,
> >
> > Was this related to long term plan for GPU codegen?
> >
> > Thank you,
> > Janardhan
>

Reply via email to