Advertisement
Guest User

Untitled

a guest
Nov 3rd, 2011
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.57 KB | None | 0 0
  1. <strong> <cite>Потенциал для оптимизации очень хороший и чем интеллектуальнее эвристики я использую, тем лучшие результаты, но дело иногда доходит к абсурду, когда, скажем, вычисления для симуляции одного дня на фабрике занимают даже больше 24 часов при использовании однопоточной процессорной реализации. Мне же нужно симулировать 200-300 дней, делать много экспериментов с разными параметрами, так что параллельные вычисления – мой единственный выход, и сейчас моя задача – продумать грамотно дизайн этих вычислений</cite></strong>
  2. Ок, хорошо - в этом случае действительно на мой взгляд попытка использования GPU целесообразна. Быть может вам придётся использовать и не одну GPU.
  3.  
  4. <strong> <cite>Использовать кластер я пробовал. У меня был доступ к линукс-кластеру, где я проводил некоторые эксперименты. Но проблема в том, что вынуждено центральный нод кластера з программным обеспечениям для симуляции – это Windows-машина.</cite></strong>
  5. Я не понял смысл этих предложений. У вас есть проекты (исходный код+файлы сборки) только для Windows?
  6.  
  7. <strong> <cite>Для коммуникации и передачи данных пришлось использовать SSH и SCP протоколы, из-за этого возникал довольно большой overhead при параллельных вычислениях.</cite></strong>
  8. Ну всё зависит от объёма коммуникаций и от их структуры (да, я кэп). Для кластеров обычно используется MPI, для которого как я понял обычно работа с сетью достаточно оптимизированная.
  9. Быстрый хинт для SSH/SCP - попробовать выключить сжатие (и если возможно шифрование - на счёт этого не уверен).
  10.  
  11. <strong> <cite>Так что, доступ к памяти, я надеюсь, для меня будет скорее большим преимуществом, а не способом похоронить прирост производительности</cite></strong>
  12. Я говорил о другом. А именно о том, что без продуманного использования памяти (которой на GPU несколько видов), получить значения мощности близкие хотя бы к 70% от пика - невозможно. Более того, для некоторых задач это невозможно в принципе.
  13.  
  14. Я вам советую "откинуться на спинку кресла" и посмотреть видео лекций Борескова: http://www.intuit.ru/video/59/ - там всего четыре часа. Информация там немного устаревшая, так как вышло новое железо - но в общем даёт неплохое поверхностное представление о технологии, и подводных камнях.
  15.  
  16. <strong> <cite>На счет почти одинаковой роботы для параллельных нитей, не могли бы вы, пожалуйста, немного детальнее объяснить, что вы имеете в виду?</cite></strong>
  17. Я имел ввиду то, что очень желательно, чтобы нити выполняли один и тот же код, причём находились на одних и тех же ветках выполнения.
  18. То есть допустим есть задача суммирования двух векторов, псевдокод для GPU, для одной из возможных реализаций будет иметь вид:
  19. <code>
  20. void threadCode(T *vecA,T *vecB,T *vecC)
  21. {
  22. int i=getThreadID();
  23. vecC[i]=vecA[i]+vecB[i];
  24. }
  25. </code>
  26. Где threadCode - это код который будет выполняться в одной нити.
  27. Всё это конечно очень грубо, и ветвления возможны, и даже запуск совершенно разных кодов на одной GPU. Но опять же, желательно, чтобы все нити выполняли один и тот же код - иначе производительность сильно просядет.
  28.  
  29. <strong><cite>Выбор Tesla по сравнению с AMD из-за доступной и простой среды разработки. </cite></strong>
  30. Да, у NVidia среда разработки намного лучше. Она намного лучше подходит для обучения.
  31. Но тут несколько нюансов. Double GFlop's у AMD лучше, по крайней мере если сравнивать с GTX'ами.
  32. Между Tesla и GTX'ами существенной разницей для описанной вами ситуации является опять же скорость Double GFlop's - у Tesla больше. Но, например Memory Bandwidth соответствующих моделей меньше у Tesla (даже при отключённом ECC), также я думаю что Single GFlop's у Tesla может быть меньше. Ещё не маловажный фактор это цена(особенно важно если использовать несколько карт).
  33.  
  34. <strong><cite>На счет double precision floating-point , то у меня все вычисления с числами з плавающей точкой, у меня нет почти целочисленных вычислений. Если я не правильно понял замечание, объясните мне, пожалуйста.</cite></strong>
  35. Какие именно у вас числа с плавающей точкой? 32бита или 64бита?
  36.  
  37. <strong><cite>И, простите за любопытство, почему вам же лучше будет из-за вливания денег в индустрию? :-) </cite></strong>
  38. Не, ну во-первых, от этого будет лучше любому IT'шнику. Например где бы было сейчас это GPGPU без вливаний средств геймеров?
  39. Во-вторых я специализируюсь на визуализации и вычислениях/обработке данных (научных) (и стараюсь работать только в этих направлениях) - поэтому для меня развитие GPU вдвойне полезно.
  40.  
  41.  
  42. P.S.:
  43. To lexa: мне кажется на этот сайт напрашивается небольшой FAQ - так как некоторый Q, действительно FA.
  44.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement