Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Похоже, что да.
Не уверен, потому что стараюсь не использовать хитрые конструкции (тяжело воспринимается на глаз), но наверное зря, так как это может ускорять код.
Твой код должен быть, наверное, медленнее, так как на каждой итерации цикла заново объявляется переменная b.
Не, ну это нечестно. Ты с кодом Андрея справься и ускорь его.
А я что сделал?
От оптимизатора требуется что? Уменьшение накладных расходов при сохранении еквивалентности результатов! Так проверь, всё сходится до копейки.
:)
// Кстати !! Этот код не роняет мой драйвер даже при #define BUF_SIZE 1024*1024*4 !!!
// Это прорыв!
;))))
А я что сделал?
От оптимизатора требуется что? Уменьшение накладных расходов при сохранении еквивалентности результатов! Так проверь, всё сходится до копейки.
:)
Сходится? как проверил? :O
Как, как! На калькуляторе! Запустил восемь штук параллельно и проверил.
Врёт твой куркулятор. :)
В цикле складываются 0+1+2+3+...+99999999. Причем через каждые 10000 шагов значение равно 0.
А ты чего зделал? - присвоил номер мухи и всё. Как же могут результаты мои и твои совпасть?
Я тут слегка покурил и заподозрил, что вот так
будет работать ещё быстрее. Дело в том, что get_global_id() скорее всего никакая не функция, а сверхскоростная регистровая операция.
без профайлера не проверить. если кому шибко надо, и захотит - просьба доложить о результатах из студии в студию. пригодится.От оптимизатора требуется что? Уменьшение накладных расходов при сохранении еквивалентности результатов! Так проверь, всё сходится до копейки.
// Кстати !! Этот код не роняет мой драйвер даже при #define BUF_SIZE 1024*1024*4 !!!
Покурил подольше и расстроился. С другой-то стороны - раз драйвер не роняет, значит эквивалентность по результату уже неполная.
Блин.. Какой облом. :(
Не-е, плохо ты курил.
1^3 + 2^3 + 3^3 + ... + 1000000000^3 = 1000000000^2 * (1000000000 + 1)^2 / 4
Слева и справа - одно и то же, полная эквивалентность.
Только с левым выражением ты будешь греть камень довольно долго, а с правым - почти мгновенно, процессор не заметит и останется холодным.
P.S. Апгрейднулся на OpenCL 1.2 (это бета). Прошу обратить внимание на маленькое дополнение после номера версии - sse2.
Не сказать, что кардинально, но на некоторых тестах ускорился. Скажем, на Tast_Mand_ (ну ты извращенец, Андрюха) - процентов на 5-10. Чуть-чуть, но приятно.
Врёт твой куркулятор. :)
В цикле складываются 0+1+2+3+...+99999999. Причем через каждые 10000 шагов значение равно 0.
А ты чего зделал? - присвоил номер мухи и всё. Как же могут результаты мои и твои совпасть?
Я тебе дал почти сутки на одуматься проверку. Ты усё ещё настаиваешь? :)
Давай посмотрим: