2015-03-29 18 views
6

Có cách nào để J sử dụng nhiều lõi không? Tôi nghĩ một phần lợi ích của APL/J là các cấu trúc ngôn ngữ đã cho vay tốt với các giải pháp song song.Multi-core J - Parallelisation

Nhìn vào mức sử dụng CPU của tôi (tôi đang sử dụng OSX), rõ ràng chỉ có một bộ xử lý duy nhất được sử dụng.

Tôi có chức năng nặng trên f trong danh sách và tôi không thấy lý do tại sao nó không thể chia danh sách thành 4 phần và tập hợp lại kết quả?

+0

Thật không may, nhưng nếu bạn đã viết giải pháp theo cách định hướng mảng, bạn có thể chạy nhiều phiên bản chương trình của mình cho các phân đoạn khác nhau của mảng. – Eelvex

+2

Thật đáng tiếc. Có bất kỳ phương ngữ của APL chạy đa lõi? – user1202733

+0

Tôi chạy về cơ bản cùng một vấn đề, vì vậy tôi mất một chút hơn một cách tiếp cận cấp tiến, tôi quyết định viết một trình biên dịch cho một ngôn ngữ cơ bản J. Mục tiêu bao gồm hỗ trợ đa lõi, hỗ trợ GPGPU (CUDA/OpenCL), và phân phối nhiệm vụ qua mạng LAN. Nó chưa kết thúc, nhưng bạn có thể theo kịp tiến độ tại https://github.com/Synthetica9/HyperJ – Synthetica

Trả lời

0

ArrayFire có thể đáng xem xét. OpenCL của nó với sự hỗ trợ cho AMD/nvidia và dự phòng ngược cho CPU. Xử lý mảng của nó. Nó phải liên kết dễ dàng với J, giống như trong MATLAB.

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