Pull to refresh

Comments 7

> Потокобезопасность — штука полезная, теперь нам не надо задумываться о том, что когда вызывать и как синхронизировать. Насколько оно актуально — хороший вопрос, пока используется одна карта, толку особо нет.

Число потоков не зависит от числа видеокарт\процессоров и т.п. к тому же даже на одной видеокарте может быть несколько ядер и запуск нескольких процессов вполне возможен, так что фича нужная и полезная (имхо)
Вы правы, много потоков может быть при любом количестве видеокарт (да и разницы сколько там ядер тоже нет), просто, имхо, наиболее популярный сценарий — поток на видеокарту, хотя я могу и ошибаться.
Начал читать «OpenCL Programming Guide» — довольно таки ясно все раскладывают по полочкам что да как в стандарте 1.1. Примеров из разных областей предостаточно.
Эх… вот написали бы они ее на годик раньше...:) Я тогда долго искал хорошую книжку, но пришлось читать мануал и программинг гайд от nvidia. А там не все всегда ясно.
«вопрос о том, есть ли аппаратное ускорение встроенных функций или нет для меня все еще загадка, надо будет как-нибудь проверить будет»
Читая сайт www.cmsoft.com.br/ натыкался на утверждение (вроде даже с примером на котором оно проверялось) что у nativ функций есть аппаратное ускорение. Сам обычно их и стараюсь использовать…
Но то, что ввели трёхмерные вектора это конечно приятно.
Спасибо за сайт, почитаю.
А вы никогда не пробовали делать какой-нибудь простенький тест? Например посчитать длину вектора нативной функцией и вручную. У меня руки все никак не доходят до этого, да и без 3х компонентных векторов смысла не было. Просто интересно, нвидевская документация тоже говорит, что будет быстрее, но вот факты мне еще не попадались.
Global work-offset which enable kernels to operate on different portions of the NDRange — самое ожидаемое нововведение 1.1, по крайней мере для меня. Я сам очень удивился когда не обнаружил такой возможности в 1.0. А столкнулся я с этим при реализации метода Гаусса (собственно, то же самое справедливо почти для любого прямого метода решения СЛАУ). Идея в том, что на каждом шаге обрабатываемая часть матрицы становится всё меньше (на одну строку сверху и один столбец слева). Вот здесь как раз глобальный офсет и нужен.
Порылся в спеках, обнаружил что оно уже есть в 1.1, и что у Nvidia вроде бы уже есть pre-release drivers. Недолго думая, запросил эти драйвера, но Nvidia захотела чтобы я что-то там доказал… Решил, что оно того не стоит (я думал что готовые драйвера выйдут как минимум на полгода раньше), в итоге ядра дополнились конструкциями вида:
if(x < i || y < i) return; // где i — номер шага, а x,y — глобальные id
Sign up to leave a comment.

Articles

Change theme settings