Не был бы те же самые точные ограничения на GPU относится к KC тогда? На самом деле было бы в значительной степени распространяется на все крупные параллельные архитектуры.
Современный день GPU, как 7970 имеет 2048 ПЛов и так, чтобы сохранить оборудование используется вам нужно по крайней мере 4 фронты / CU, вы должны запланировать ядро с NDRange, по крайней мере, 8192. Это делает 8192 * 16 = 131GB видео память, которая находится далеко за пределами того, что 7970 на самом деле имеет. KC имеет 50 ядер, если вы используете регистры SSE2 (причина AVX не имеет целочисленную арифметику на ymms - он пришел бы с AVX2), то вы в конечном итоге с эквивалентом 200 WorkItems GPU или 200 * 16 = 3200MB памяти, вполне в практические пределы.
Только то, что вы думаете Bitcoin добыча?
Bitcoin добыча по определению не имеет ничего общего с параллельными вычислениями. Вы можете сделать это на медленном одноядерный процессор MIPS, например, конечно, это не будет экономически эффективным.
Вы явно не понимаете, как работает компьютерная архитектура или разрешение зависимостей. Ожидание результатов предыдущей инструкции? Просто начать работу на не зависимой от обучения.
При условии, что есть не зависящая от инструкции для выборки / декодирования / исполнения.
В настоящее время аппаратной добычи Bitcoin ограниченно числом ALU. Правда там может быть момент, когда вам нужно увеличить регистры, дешифраторы, планирование, чтобы накормить всех этих АЛУ, но это пока вы не увеличить ресурсы ALU резко от того, где они сейчас.
Конечно, она ограничена числом единиц ALU, но это не единственное ограничение. Он также ограничен заселению. Заполняемость ограничивается использованием георадара. Даже хорошо оптимизировано ядро использует достаточно GPRs, чтобы ограничить число фронтов / CU. Вот почему, например, на VLIW оборудовании, 2-компонентные векторы работали лучше. uint2 не обеспечивает достаточно независимых инструкций по использованию пучков VLIW4 / VLIW5 и так ALUPacking была далека от 100%. С другой стороны, хочу сказать, uint4, улучшая ALUPacking, иронически ухудшает производительность, так как она требует больше GPRs, таким образом, меньше фронты могут быть запланированы и у нас есть меньше заполняемости, недоиспользуя оборудование. AMD может сделать их оборудование гораздо лучше подходит для Bitcoin добычи (и не только), если они увеличили видеочипов»регистровый файл, но они решили, что было бы достаточно. Вообще-то да, вкладывая больше АЛУ бы оборудование быстрее, но и иметь больше GPRs за ТС, безусловно, сделать это быстрее. Существует не так много пользы более АЛУ, если вы не можете держать их заняты. Прямо сейчас, Bitcoin ядра являются компромиссом и аппаратные средства никогда полностью не используется.
Даже лучший пример того Kepler от NVIDIA. 680GTX имеет 1536 АЛУ, что в три раза больше, чем быстро Ферми GPU как 580GTX. Во всяком случае, практические результаты показывают, 580 быстрее, чем 680 на добыче Bitcoin (и любой другой ALU-интенсивной GPGPU работы по этому вопросу). Причина? Они вышли из группировки 32 ядер в CU до 192 ядер, но вместо увеличения 6 раз регистрового файла, они сделали это только 3 раза, и вы в конечном итоге с наличием в 2 раза меньше, чем регистры, которые вы использовали, чтобы иметь с Fermi. В результате того, вы не можете иметь надлежащее размещение и увы - увеличение 3x в АЛУ практически деньги впустую. Кеплер не GPGPU арка и GK110, к сожалению, не отходя от этого.