Перспективы графических процессоров

Графические процессоры, подобные NVIDIA Tesla, не вполне соответствуют предыдущим классификациям компьютеров. Несомненно, GeForce 8800 GTX с 16 мультипроцессорами Tesla относится к MIMD. Вопрос в том, как классифицировать каждый из мультипроцессоров Tesla и восемь потоковых процессоров, составляющих мультипроцессор Tesla.

Ранее утверждалось, что SIMD больше нечто подходит для циклов for и меньше всего подходит для операторов case и switch. Tesla стремится к достижению высокой эффективности при параллелизме на уровне данных, облегчая программистам работу с независимым параллелизмом на уровне потоков. Tesla позволяет программисту считать мультипроцессор многопоточным MIMD-устройством, состоящим из восьми потоковых процессоров, но оборудование старается собрать вместе восемь потоковых процессоров для работы в качестве SIMT-устройства, когда несколько потоков одного и того же варпа могут выполняться вместе. Когда потоки работают независимо друг от друга и следуют по независимым путям выполнения, они выполняются медленнее, чем в режиме SIMT, поскольку все 32 потока в варпе совместно используют один блок извлечения инструкций. Если бы все 32 потока варпа выполняли независимые инструкции, каждый поток работал бы в 1/16 пиковой производительности полного варпа из 32 потоков, выполняемых на восьми потоковых процессорах в течение четырех тактовых циклов.

Таким образом, у каждого независимого потока есть свой собственный эффективный персональный компьютер, поэтому программисты могут представлять мультипроцессор Tesla в виде MIMD-устройства, но, чтобы добиться желаемой производительности, они должны позаботиться о написании инструкций потока управления, позволяющих SIMT-оборудованию выполнять CUDA-программы в SIMD-режиме.

В отличие от векторной архитектуры, которая для распознавания параллелизма на уровне данных и генерации векторных инструкций полагается на векторизирующий компилятор, аппаратная реализация архитектуры Tesla обнаруживает параллелизм на уровне данных среди потоков в процессе выполнения. Таким образом, графические процессоры Tesla не нуждаются в векторизирующих компиляторах, и они облегчают программисту работу с частями программы, не имеющими параллелизма на уровне данных. Чтобы разобраться с перспективами этого уникального подхода, приведена классификация, рассматривающая параллелизм на уровне инструкций в противоположность параллелизму на уровне данных, и показывается, где обнаруживается параллелизм — во время компиляции или в процессе выполнения. Эта классификация свидетельствует о том, что графический процессор Tesla является новым словом в компьютерной архитектуре.





Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: