2015-10-28 15 views
13

Tôi muốn thử nghiệm với SIMD (một lệnh nhiều dữ liệu). Từ những gì tôi có thể thu thập từ các bài đăng trên Google Group, mọi người đã làm việc để thêm điều này vào Google Chrome, nhưng khi tôi cố gắng gọi SIMD.Float32x4 trong Chrome 46, tôi nhận được rằng SIMD không xác định.Tôi làm cách nào để thử các hướng dẫn SIMD trong Chrome?

Goolgling của tôi cho thấy có thể có một số phiên bản thử nghiệm của Chrome có hỗ trợ SIMD. Phiên bản mới nhất bao gồm nó là gì và cờ dòng lệnh nào cần được thiết lập để sử dụng nó? Tôi có cần sử dụng chế độ nghiêm ngặt không?

Khi nào SIMD sẽ được đưa vào bản dựng Chrome ổn định?

Nó cũng tạo sự khác biệt khi chạy hướng dẫn SIMD nếu tôi chạy phiên bản 32 bit của Chrome hoặc phiên bản 64 bit?

+0

Có thể diễn đàn nhà phát triển Google sẽ là nơi tốt hơn để hỏi điều này. – Barmar

+0

** Lưu ý đối với khách truy cập trong tương lai: ** Có vẻ như [chrome đang giảm hỗ trợ SIMD] (https://bugs.chromium.org/p/v8/issues/detail?id=4124#c159) trong JS và chỉ cho phép [trong WebAssembly] (https://bugs.chromium.org/p/v8/issues/detail?id=6020&desc=2#maincol): \ – JoeRocc

Trả lời

10

Cập nhật (24/6/17):Chrome is dropping SIMD support trong JS và chỉ cho phép nó in WebAssembly.


Cập nhật: Bây giờ nó có thể trong phiên bản mới nhất của Chrome với một lá cờ:

--js-flags="--harmony-simd" 

Trong tính shortcut Chrome (tức trên máy tính của bạn) "Target" lĩnh vực sẽ giống như thế này

"C:\Users\Pav\AppData\Local\Google\Chrome SxS\Application\chrome.exe" --js-flags="--harmony-simd" 

Cũ câu trả lời:

Bạn có thể thử chúng ra trong Node trước khi họ sẽ được thêm vào Chrome (giống động cơ Javascript)

  1. Cài đặt Node mới nhất từ ​​https://nodejs.org/en/

  2. Chạy JavaScript là "nút --harmony-SIMD index.js "(mã của bạn trong index.js)

  3. In ra từ tập lệnh của bạn giống như trong bảng điều khiển Chrome bằng bảng điều khiển.log ('BANG') hoặc chỉ cần đăng nhập ('test 2')

Lựa chọn 2

giải pháp Không Chrome nhưng bạn có thể sử dụng SIMD trong Firefox. Tải xuống Firefox Hàng đêm đã tích hợp SIMD. SIMD gần như giống hệt nhau giữa các trình duyệt.

https://nightly.mozilla.org/

Nếu ai đó có thể giải thích làm thế nào để xây dựng Chromium mới nhất với SIMD có nguồn gốc (không polyfill như nó bây giờ) hỗ trợ đó sẽ là tuyệt vời.

+0

' --js-flags = "- harmony-simd" ' KHÔNG làm việc cho tôi, trong chrome 52.0.2743.116 m NOR nw.js 0.16.1 – Ciberman

+0

@Ciberman vừa kiểm tra với 52.0.2743.116 m 64bit trên Windows 10 và nó hoạt động. Trường "Mục tiêu" của bạn là gì? – Pawel

+0

Tôi đã thử một lần nữa và nó chỉ đơn giản là làm việc. Tôi không biết tại sao. – Ciberman

1

Dường như mức độ SIMD trong Chromium là experimental contribution by Intel from 2013.

Bạn có thể dùng thử trong special build of Chromium 37 (ia32). Nguồn: IDF14 demo links.

Để dùng thử download the build for your platform và bắt đầu với command-line flag--js-flags=--simd-object.

Ví dụ, trên OSX:

./Chromium.app/Contents/MacOS/Chromium --js-flags=--simd-object 

Đối tượng SIMD có sẵn trong bảng điều khiển JavaScript:

var a = SIMD.float32x4(1, 2, 3, 4); 
var b = SIMD.float32x4(5, 6, 7, 8); 
var c = SIMD.float32x4.add(a,b); 
console.log(c.toString()) 
// > float32x4(6,8,10,12) 

tôi có thể tìm thấy không có thông tin về ý định sáp nhập (nhưng rất thích nghe một cái gì đó có thẩm quyền).

+0

Có thể xây dựng phiên bản Chromium mới nhất có hỗ trợ SIMD. Tôi thấy một phiên bản mới hơn Intel ở đâu đó. Làm thế nào để làm nó? – Pawel

+1

Tôi đã thử những tên này nhưng tên chức năng đã lỗi thời. Chúng khác nhau trong Firefox hàng đêm và Node i, e, float32x4 là Float32x4 – Pawel

+0

Cũng hoạt động trong phiên bản nút hiện tại (7.4): 'node --harmony-simd' –

Các vấn đề liên quan