<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 7, 2016 at 4:34 PM, Richard Mills <span dir="ltr"><<a href="mailto:richardtmills@gmail.com" target="_blank">richardtmills@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Jul 1, 2016 at 4:13 PM, Jeff Hammond <span dir="ltr"><<a href="mailto:jeff.science@gmail.com" target="_blank">jeff.science@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">[...]<span class=""><div><br></div><div>Maybe I am just biased because I spend all of my time reading <a href="http://www.nextplatform.com" target="_blank">www.nextplatform.com</a>, but I hear machine learning is becoming an important HPC workload.  While the most hyped efforts related to running inaccurate - the technical term is half-precision - dense matrix multiplication as fast as possible, I suspect that more elegant approaches will prevail.  Presumably there is something that PETSc can do to enable machine learning algorithms.  As most of the existing approaches use silly programming models based on MapReduce, it can't be too hard for PETSc to do better.</div></span></div></blockquote><div><br></div><div>"Machine learning" is definitely the hype du jour, but when that term gets thrown around, everyone is equating it with neural networks with a lot of layers ("deep learning").  That's why everyone is going on about half precision dense matrix multiplication, as low accuracy works fine for some of this stuff.  The thing is, there are a a ton of machine-learning approaches out there that are NOT neural networks, and I worry that everyone is too ready to jump into specialized hardware for neural nets when maybe there are better approaches out there.  Regarding machine learning approaches that use sparse matrix methods, I think that PETSc (plus SLEPc) provide pretty good building blocks right now for these, though there are probably things that could be better supported.  But what machine learning approaches PETSc should target right now, I don't know.  Program managers currently like terms like "neuromorphic computing" and half-precision computations seem to be the focus.  (Though why stop there?  Why not quarter precision?!!)<span class=""><font color="#888888"><br><br></font></span></div></div></div></div></blockquote><div><br></div><div>Google TPU does quarter precision i.e. 8-bit fixed-point [<a href="http://www.nextplatform.com/2016/05/19/google-takes-unconventional-route-homegrown-machine-learning-chips/">http://www.nextplatform.com/2016/05/19/google-takes-unconventional-route-homegrown-machine-learning-chips/</a>], so the machine learning folks have already gone there.  No need to speculate about it :-)</div><div><br></div><div>Jeff</div></div><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Jeff Hammond<br><a href="mailto:jeff.science@gmail.com" target="_blank">jeff.science@gmail.com</a><br><a href="http://jeffhammond.github.io/" target="_blank">http://jeffhammond.github.io/</a></div>
</div></div>