2012-11-21 34 views
6

Tôi đang suy nghĩ về việc sử dụng Clyther để có tác vụ hiệu suất cao. Thật thú vị khi viết các hạt OpenCL chỉ sử dụng python, nhưng tôi tự hỏi về khoảng cách hiệu suất.Kích thước của Clyther overhead?

Nhiệm vụ của Clyther là gì? Không giỏi về? Hạt nhân tạo ra Clyther có tốt hay không?

Có thể tìm thấy một số điểm chuẩn không?

+0

Tôi chỉ có thể tìm thấy một điểm chuẩn: http://srossross.github.com/Clyther/performance_python.html#performance-results – Natan

Trả lời

4

Theo trạng thái tài liệu, các điểm nhập chính cho CLyther là các trang trí clyther.taskclyther.kernel - một khi chức năng được trang trí với một trong các chức năng này sẽ được biên dịch sang OpenCL khi được gọi.

CLyther là trình biên dịch của một tập con của ngôn ngữ Python. Nó biên dịch mã con của Python thành OpenCL, vì vậy thời gian chạy thực tế của hạt nhân sẽ không (hoặc không nên) khác nhau giữa các giao diện với OpenCL. Chi phí thực tế của CLyther (như với tất cả các giao diện với Python) đến từ việc gọi các hàm OpenCL, hoặc di chuyển dữ liệu giữa CLyther/Python và OpenCL.

Điểm chuẩn hiển thị số performance của CLyther có sẵn trong documentation. Tarball nguồn chứa phiên bản C++ và FORTRAN của chương trình điểm chuẩn, một bộ giải phương trình Laplace, vì vậy bạn có thể sử dụng chúng để tái tạo các kết quả benchmark.

Cá nhân, tôi tin rằng bạn có thể sử dụng CLyther một cách hiệu quả trên phần lớn các sự cố cần tính toán OpenCL.