<div dir="ltr">On Tue, Jan 2, 2018 at 1:21 PM, Yasunori Endo <<a href="mailto:jo7ueb@gmail.com">jo7ueb@gmail.com</a>> wrote:<br>><br>> Hi all<br>><br>> Numba looks so nice library to try.<br>> Thanks for the information.<br>><br>>> This suggests a new, higher-level data model which supports replicating data into different memory spaces (e.g. host and GPU). Then users (or some higher layer in the software stack) can dispatch operations to suitable implementations to minimize data movement.<br>>><br>>> Given NumPy's current raw-pointer C API this seems difficult to implement, though, as it is very hard to track memory aliases.<br>><br>> I understood modifying numpy.ndarray for GPU is technically difficult.<br>><br>> So my next primitive question is why NumPy doesn't offer<br>> ndarray like interface (e.g. numpy.gpuarray)?<br>> I wonder why everybody making *separate* library, making user confused.<br><br><div>Because there is no settled way to do this. All of those separate library implementations are trying different approaches. We are learning from each of their attempts. They can each move at their own pace rather than being tied down to numpy's slow rate of development and strict backwards compatibility requirements. They can try new things and aren't limited to their first mistakes. The user may well be confused by all of the different options currently available. I don't think that's avoidable: there are lots of meaningful options. Picking just one to stick into numpy is a disservice to the community that needs the other options.</div><div><br></div><div>> Is there any policy that NumPy refuse standard GPU implementation?<br><br>Not officially, but I'm pretty sure that there is no appetite among the developers for incorporating proper GPU support into numpy (by which I mean that a user would build numpy with certain settings then make use of the GPU using just numpy APIs). numpy is a mature project with a relatively small development team. Much of that effort is spent more on maintenance than new development.</div><div><br></div><div>What there is appetite for is to listen to the needs of the GPU-using libraries and making sure that numpy's C and Python APIs are flexible enough to do what the GPU libraries need. This ties into the work that's being done to make ndarray subclasses better and formalizing the notions of an "array-like" interface that things like pandas Series, etc. can implement and play well with the rest of numpy.<br><br>--<br>Robert Kern</div></div>