Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ну наконец-то, заждались уже Вас. Если готовы поэкспериментировать - поставьте у себя Intel OpenCL Runtime (инструкции по ссылке).
Запустите скрипт, ничего не меняя в нем, и выложите лог из закладки "Эксперты" так же, как это делали предыдущие коллеги. Полное время выполнения скрипта - примерно 3 минуты на Вашем камне, потерпите. Заодно узнаем, как OpenCL работает на самом крутом голом камне Sandy Bridge.
Если Вашего терпения не хватит или Вам кажется, что это выше Ваших способностей, - ничего страшного, не обидимся.
P.S. Цель этого скрипта - посмотреть, на что способен голый CPU без всяких дискретных видеодраконов. Подозреваю, что при правильно вставшем Intel Runtime и на этом скрипте будет ускорение в районе 200 или даже чуть повыше.
Есть сомнения, что Intel OpenCL Runtime встал корректно.
2012.04.23 00:17:51 ParallelTester_00-01x__3 (EURUSD,H1) CpuTime/GpuTime = 1347.164383561644
2012.04.23 00:17:51 ParallelTester_00-01x__3 (EURUSD,H1) Result on Cpu МахResult==0.9316 at 10253 pass
2012.04.23 00:17:51 ParallelTester_00-01x__3 (EURUSD,H1) Соunt indicators = 16; Count history bars = 144000; Count pass = 12800
2012.04.23 00:17:51 ParallelTester_00-01x__3 (EURUSD,H1) CPU time = 295029 ms
2012.04.23 00:12:56 ParallelTester_00-01x__3 (EURUSD,H1) Result on Gpu МахResult==0.9316 at 10253 pass
2012.04.23 00:12:56 ParallelTester_00-01x__3 (EURUSD,H1) Соunt indicators = 16; Count history bars = 144000; Count pass = 12800
2012.04.23 00:12:56 ParallelTester_00-01x__3 (EURUSD,H1) GPU time = 219 ms
2012.04.23 00:12:56 ParallelTester_00-01x__3 (EURUSD,H1) OpenCL init OK!
2012.04.23 00:12:56 ParallelTester_00-01x__3 (EURUSD,H1) CLGetInfoInteger() returned 4
Есть сомнения, что Intel OpenCL Runtime встал корректно.
2012.04.23 00:12:56 ParallelTester_00-01x__3 (EURUSD,H1) Result on Gpu МахResult==0.9316 at 10253 pass
2012.04.23 00:12:56 ParallelTester_00-01x__3 (EURUSD,H1) Соunt indicators = 16; Count history bars = 144000; Count pass = 12800
2012.04.23 00:12:56 ParallelTester_00-01x__3 (EURUSD,H1) GPU time = 219 ms
Вы, вероятно, выставили аргументом CLContextCreate() не нуль, а что-то другое. Ну просил же Вас ничего не менять! Возможности Вашего двухголового видеодракона нам уже известны. Но у Вас их, похоже, даже несколько...
По моим грубым оценкам, при CLContextCreate(0) у Вас должны быть цифры соответственно порядка CPU time = 180000 ms и GPU time = 900 ms (примерно). У Вас странно большое первое время исполнения - для такого CPU. Может, он был сильно загружен другими задачами?
Вы можете просто прогнать скрипт в том же виде, в каком я его прикрепил, - ничего не меняя в коде, ни единого символа?
P.S. Конечно, возможно, device = 0 у Вас соответствует не CPU, а чему-то еще. Ну тогда поэкспериментируйте (от 0 до 3). Самое большое время GPU time по идее должно соответствовать голому CPU, т.е. хосту.
Вы выставили аргументом CLContextCreate() не нуль, а что-то другое. Ну просил же Вас ничего не менять! Возможности Вашего двухголового видеодракона нам уже известны. Но у Вас их, похоже, несколько...
По моим грубым оценкам, при CLContextCreate(0) у Вас должны быть цифры соответственно порядка CPU time = 180000 ms и GPU time = 900 ms (примерно). У Вас странно большое первое время исполнения - для такого CPU. Может, он был сильно загружен другими задачами?
Вы можете просто прогнать скрипт в том же виде, в каком я его прикрепил, - ничего не меняя, ни единого символа?
P.S. Конечно, возможно, device = 0 у Вас соответствует не CPU, а чему-то еще. Ну тогда поэкспериментируйте (от 0 до 3). Самое большое время GPU time по идее должно соответствовать голому CPU, т.е. хосту.
Параметры не менял! Запустил как есть.
По видео да так и есть 2x590.
Запустил еще раз при CLContextCreate(0)1,2,3 результат тот же, что был раньше.
Возможно проблема с Intel OpenCL Runtime.
Параметры не менял! Запустил как есть.
Запустил еще раз при CLContextCreate(0)1,2,3 результат тот же, что был раньше.Все результаты одинаковые? Не верю... ну не может в этом скрипте на голом CPU быть GPU time = 219 ms. В самом лучшем случае будет порядка 800 ms, но никак не 200.
Вот мой типичный результат (у меня CPU Pentium G840):
2012.04.22 22:23:09 ParallelTester_00-01x (EURUSD,H1) CpuTime/GpuTime = 88.40817091454272
2012.04.22 22:23:09 ParallelTester_00-01x (EURUSD,H1) Result on Cpu МахResult==1.05116 at 7785 pass
2012.04.22 22:23:09 ParallelTester_00-01x (EURUSD,H1) Соunt indicators = 16; Count history bars = 144000; Count pass = 12800
2012.04.22 22:23:09 ParallelTester_00-01x (EURUSD,H1) CPU time = 235873 ms
2012.04.22 22:19:13 ParallelTester_00-01x (EURUSD,H1) Result on Gpu МахResult==1.05116 at 7785 pass
2012.04.22 22:19:13 ParallelTester_00-01x (EURUSD,H1) Соunt indicators = 16; Count history bars = 144000; Count pass = 12800
2012.04.22 22:19:13 ParallelTester_00-01x (EURUSD,H1) GPU time = 2668 ms
2012.04.22 22:19:10 ParallelTester_00-01x (EURUSD,H1) OpenCL init OK!
2012.04.22 22:19:10 ParallelTester_00-01x (EURUSD,H1) CLGetInfoInteger() returned 1
ОК, проехали.
Все результаты одинаковые? Не верю... ну не может в этом скрипте на голом CPU быть GPU time = 219 ms. В самом лучшем случае будет порядка 800 ms, но никак не 200.
ОК, проехали.
Вот только что еще раз попробовал с CLContextCreate(0)
2012.04.23 01:27:15 ParallelTester_00-01x__3 (EURUSD,H1) CpuTime/GpuTime = 1265.405982905983
2012.04.23 01:27:15 ParallelTester_00-01x__3 (EURUSD,H1) Result on Cpu МахResult==1.48772 at 2051 pass
2012.04.23 01:27:15 ParallelTester_00-01x__3 (EURUSD,H1) Соunt indicators = 16; Count history bars = 144000; Count pass = 12800
2012.04.23 01:27:15 ParallelTester_00-01x__3 (EURUSD,H1) CPU time = 296105 ms
2012.04.23 01:22:19 ParallelTester_00-01x__3 (EURUSD,H1) Result on Gpu МахResult==1.48772 at 2051 pass
2012.04.23 01:22:19 ParallelTester_00-01x__3 (EURUSD,H1) Соunt indicators = 16; Count history bars = 144000; Count pass = 12800
2012.04.23 01:22:19 ParallelTester_00-01x__3 (EURUSD,H1) GPU time = 234 ms
2012.04.23 01:22:18 ParallelTester_00-01x__3 (EURUSD,H1) OpenCL init OK!
2012.04.23 01:22:18 ParallelTester_00-01x__3 (EURUSD,H1) CLGetInfoInteger() returned 5
Это явно на дискретной карте, а не на CPU: такие ускорения на эмуляции вряд ли возможны. И число дивайсов у Вас уже 5, жуть какая.
Если Вам не в лом - прогоните, пожалуйста, чуть измененный код, и выложите результат сюда. В коде вычисления для разных дивайсов OpenCL сведены в цикл (они должны быть быстрыми), а вычисление на x86, самое долгое, выполняется только один раз. Портянка будет длинной, но сам скрипт выполняется однократно.
Я понимаю, что я Вас уже замучил. Но в любом случае это будет хорошая инфа для Support Team.У меня интересный результат )) понял, это не обшее количество устройств а текущее
хотя расчеты еще идут, как закончит выложу.
Кстати в справке нет ни CLGetInfoInteger() ни CL_DEVICE_COUNT.
PS. результат
PS. результат
1. Обновите справку, Ваша явно устарела.
2. У Вас
очень вероятно, первая цифра, 11357 ms, относится к хосту (голому CPU), а вторая, 998 ms, - к видяхе. Порядок выигрыша на хосте, если грубо, вполне соответствует ускорению, достигаемому на AMD OpenCL (примерно 38 раз на 4-ядреном Атлоне II). Хотя и маловато на самом деле, должно быть побольше, где-то близко к 50-60. Вполне возможно, у Вас сильно медленная память.
Цифра CpuTime/GpuTime, конечно, вычисляется только для последнего обсчитанного дивайса.
1. Обновите справку, Ваша явно устарела.
2. Цифра CpuTime/GpuTime, конечно, вычисляется только для последнего обсчитанного дивайса.
1. Обновил вручную все есть, спасибо, а что справка не обновляется вместе с терминалом и метаедитором?
2. Да, но все равно, приятно ).
С Вашим железом почти все понятно, у Вас только хост является дивайсом OpenCL. С другой стороны, странно, откуда взялся такой высокий результат раньше (стр. 51):
У меня почему то невозможно вытащить курсор из вставки кода. И если кого то цитирую, такая же ерунда. Это баг форума?
Скорее баг движка форума, но не всегда так. Я обычно жму на батон HTML и вставляю вручную пару букв после последнего тэга. А потом возвращаюсь в визуальный режим редактирования поста.