> On Jan 28, 2018, at 10:58 PM, kai zhu <kaizhu...@gmail.com> wrote:
> 
> for stuff like machine-learning, using web-assembly / asm.js on an existing 
> c/c++ library is probably more practical than trying to roll your own in 
> javascript.
> 
> here are some pre-compiled (in asm.js) binaries using fann you can download 
> and run directly in nodejs:
> https://github.com/kaizhu256/node-fann-lite/tree/examples/external/examples 
> <https://github.com/kaizhu256/node-fann-lite/tree/examples/external/examples>
> https://github.com/kaizhu256/node-fann-lite/blob/examples/external/examples/Makefile#L20
>  
> <https://github.com/kaizhu256/node-fann-lite/blob/examples/external/examples/Makefile#L20>
> 
> performance-wise, the asm-variants running in nodejs train about 4x slower 
> than their native c-compiled counterparts
> 
>> On Jan 28, 2018, at 10:54 PM, Robert Eisele <rob...@xarg.org 
>> <mailto:rob...@xarg.org>> wrote:
>> 
>> The capabilities of the language itself are growing with each version. It's 
>> not that the first version of JavaScript would not be appropriate for 
>> today's web applications, but since we identify regular patterns in a 
>> language, we are able to add more layers of abstraction. But not only 
>> syntactic features can be abstracted to describe what the programmer wants 
>> with as little code as possible to give the engines more room for 
>> optimization, also the standard library should get extended. And I mean, it 
>> gets extended quite a lot - so tensors could be just one of these additions.
>> The link of J Decker is a good starting reference 
>> https://github.com/yiransheng/tensor-ops-js 
>> <https://github.com/yiransheng/tensor-ops-js>
>> It's not hard to use the features of JavaScript to implement a library like 
>> this. The hard part is to make an API like this as fast as possible to meet 
>> future demands for web applications. And this is the purpose of a standard 
>> library: 1) Providing regular functionalities without the need of external 
>> dependencies (e.g. libraries) and 2) Making them as fast and accurate as 
>> possible on a given machine.
>> 
>> And I think all these points make tensors a good fit for Web Assembly.
>> 
>> Robert
>> Am 28.01.18 um 15:08 schrieb Michał Wadas:
>>> Why should be it included in standard library?
>>> 
>>> Are there widely used  libraries providing similar capabilities?
>>> 
>>> Why is it preferable to implementing tensor operations in Web Assembly? 
>>> 
>>> 
>>> On 27 Jan 2018 2:50 am, "Robert Eisele" <rob...@xarg.org 
>>> <mailto:rob...@xarg.org>> wrote:
>>> Hello,
>>> 
>>> Allocating multi-dimensional arrays in Javascript is only possible by 
>>> building each dimension individually. In addition to being a very tedious 
>>> job, a developer has no control over memory usage, which in general is 
>>> likely to be very high.
>>> 
>>> Seeing an array algebraically as a vector, typed arrays have already 
>>> created the ability to work more efficiently and memory-consciously with 
>>> lists of numbers. A natural extension of this is not just a matrix, but a 
>>> tensor.
>>> 
>>> I would like to suggest tensors as a native language construct in ES. This 
>>> would have the advantage that developers could write highly parallelizable 
>>> code independently of WebGL. As an API one could introduce the following 
>>> classes in analogy to typed arrays:
>>> 
>>> - IntXTensor
>>> - UintXTensor
>>> - FloatXTensor
>>> 
>>> Where X is one of {8, 16, 32, 64}. To make these tensor objects really 
>>> effective, it is necessary to introduce meaningful operations, maybe 
>>> similar to the features of TensorFlow. I think by introducing tensors in 
>>> the browser (but also node.js), a wide range of new applications open up. 
>>> For example, working with deep learning right in the browser or calculating 
>>> filters on                 images without having to write shaders for them.
>>> 
>>> The most important thing probably is having a way of storing high 
>>> dimensional data in the browser without worrying about the memory 
>>> footprint, even for complex applications.
>>> 
>>> What do you think about it?
>>> 
>>> Robert Eisele
>>> 
>>> _______________________________________________
>>> es-discuss mailing list
>>> es-discuss@mozilla.org <mailto:es-discuss@mozilla.org>
>>> https://mail.mozilla.org/listinfo/es-discuss 
>>> <https://mail.mozilla.org/listinfo/es-discuss>
>>> 
>> 
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss@mozilla.org <mailto:es-discuss@mozilla.org>
>> https://mail.mozilla.org/listinfo/es-discuss
> 

_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to