2012-11-21 10 views
6

Zastanawiam się nad użyciem Clyther dla zadania o wysokiej wydajności. Ekscytujące jest pisanie kerneli OpenCL przy użyciu tylko Pythona, ale zastanawiam się nad luką w wydajności.Jaki rozmiar nakładu Clyther?

Jakie zadania wykonuje Clyther? Zły w? Czy jądra generowane przez Clyther są dobre, czy nie?

Czy można znaleźć punkty odniesienia?

+0

Mogę znaleźć tylko jeden poziom odniesienia: http://srossross.github.com/Clyther/performance_python.html#performance-results – Natan

Odpowiedz

4

Jak stwierdza dokumentacji, główne punkty wejścia dla CLyther są jego clyther.task i clyther.kernel dekoratorzy - gdy funkcja jest ozdobiony jednym z nich funkcja zostanie skompilowany do OpenCL kiedy dzwonił.

CLyther jest kompilatorem podzbioru języka Python. Kompiluje on kod podzestawu Pythona do OpenCL, więc rzeczywisty czas działania jądra nie będzie (ani nie powinien) znacznie różnić się między interfejsami do OpenCL. Rzeczywisty narzut CLythera (tak jak w przypadku wszystkich interfejsów z Pythonem) pochodzi z wywoływania funkcji OpenCL lub przenoszenia danych między CLyther/Python i OpenCL.

Parametry testu pokazujące, że program CLyther's performance są dostępne w wersji documentation. Paczka ze źródłami zawiera edycję C++ i FORTRAN programu testowego, rozwiązanie równania Laplace'a, dzięki czemu możesz je wykorzystać do samodzielnego odtworzenia wyników testu porównawczego.

Osobiście uważam, że można skutecznie używać programu CLyther w przypadku większości problemów wymagających obliczeń OpenCL.

Powiązane problemy