Skip to content

Create SIMD repo to discuss SIMD proposal? #1035

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
lukewagner opened this issue Apr 7, 2017 · 9 comments
Closed

Create SIMD repo to discuss SIMD proposal? #1035

lukewagner opened this issue Apr 7, 2017 · 9 comments

Comments

@lukewagner
Copy link
Member

People are interested in discussing what SIMD in wasm would look like, starting from the current portable-SIMD proposal. I propose creating a new github.com/webassembly/simd repo that is a fork of the spec repo which can host SIMD-scoped discussions (similar to what is being proposed for GC). Initial discussion would probably be around .md files in a new /proposals/simd subdir and could later progress to modifications to the spec text and interpreter. Make sense?

@jfbastien
Copy link
Member

I do like the format in the design repo. Tables are easy to read :)

@arunetm-zz
Copy link

Thanks @lukewagner. Is there a plan/need to migrate these new proposals to the main Wasm/Design repo once they mature with implementations?
It is useful for implementations to have toolchain support (like wabt) for these features even before spec/interpreter can be updated. I think it makes sense to have these reside in private forks until the feature gets added to the spec/interpreter. Any thoughts?

@jfbastien
Copy link
Member

Tools like wabt can just support "extensions" IMO, without needing forks.

@binji
Copy link
Member

binji commented Apr 7, 2017

A number of folks have asked about adding extensions to wabt. I agree that it would be good to support extensions w/out forks, but I'd like to make sure we can do it in a way that doesn't make it difficult to maintain.

@lukewagner
Copy link
Member Author

@arunetm Yes, I think the idea of these feature repos is that they culminate with their branch being merged into the main spec repo and the feature repo either being retired/archived or moved on to a new "v.2" branch of the feature.

@stoklund
Copy link

stoklund commented Apr 7, 2017

I've updated the WebAssembly mapping in the portable SIMD repo to use a single v128 type plus the boolean vectors. This eliminates all of the reinterpret operations.

@Art
Copy link

Art commented Apr 9, 2017

Please let me know ... where best to post this issue.

Please consider - '...A new data type called a "posit" is designed for direct drop-in replacement for IEEE Standard 754 floats ...' From Dr. John L. Gustafson's intro:
John Gustafson presents: Beyond Floating Point – Next Generation Computer Arithmetic

Google Groups thread -
POSIT (Unums "type 3") talk with live demonstration @ Stanford. February 1st 2017

"A new data type called a "posit" is designed for direct drop-in replacement for IEEE Standard 754 floats. Unlike unum arithmetic, posits do not require interval-type mathematics or variable size operands, and they round if an answer is inexact, much the way floats do. However, they provide compelling advantages over floats, including simpler hardware implementation that scales from as few as two-bit operands to thousands of bits. For any bit width, they have a larger dynamic range, higher accuracy, better closure under arithmetic operations, and simpler exception-handling. For example, posits never overflow to infinity or underflow to zero, and there is no "Not-a-Number" (NaN) value. Posits should take up less space to implement in silicon than an IEEE float of the same size. With fewer gate delays per operation as well as lower silicon footprint, the posit operations per second (POPS) supported by a chip can be significantly higher than the FLOPs using similar hardware resources. GPU accelerators, in particular, could do more arithmetic per watt and per dollar yet deliver superior answer quality."

Thanks @lukewagner for all you and the WA community do. I love WebAssembly ... it enables magic like webDSP WebAssembly Video Editor!
I'd like to see webDSP 'posit arithmetic' enabled and similar, any IEEE 754, and, SIMD WebAssembly projects too.

@lukewagner
Copy link
Member Author

I created github.com/webassembly/simd, so closing out this issue.

@Art This issue is scoped pretty narrowly to just the administrative task of creating a repo in which to discuss SIMD, so probably better to create a new issue for posits.

@binji
Copy link
Member

binji commented May 9, 2017

Actually closing this issue. :-)

@binji binji closed this as completed May 9, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants