O que significa largura de banda de um dispositivo?

4

Atualmente estou aprendendo CUDA e continuo encontrando frases como

"As GPUs têm memória dedicada que tem de 5 a 10X a largura de banda da memória da CPU"

Veja aqui para referência no segundo slide

Agora, o que a largura de banda realmente significa aqui? Especificamente, o que significa um por

  • largura de banda da CPU
  • largura de banda da GPU
  • largura de banda do slot PCI-E, as GPUs são instaladas na placa-mãe.

Meu histórico em arquitetura de computadores é muito ruim, por isso, se alguém puder dar uma explicação muito simples desses termos, será muito útil.

Meu entendimento muito limitado de largura de banda é o maior número possível de gigabytes que podem ser transferidos por segundo da CPU para a GPU. Mas isso não explica por que precisamos definir três tipos de largura de banda.

    
por smilingbuddha 08.02.2012 / 17:51

3 respostas

2

Analogia:

Uma analogia comum para largura de banda é a rodovia. Quanto mais faixas houver, e quanto mais rápido os carros forem, mais carros poderão viajar pela rodovia por vez.

Usando caminhões em vez de carros, imagine que você precise transportar um monte de mercadorias ou correspondência de uma cidade para outra. Se você tem uma rodovia de pista única, então apenas uma linha de caminhões pode viajar por ela, reduzindo assim a quantidade de mercadoria que pode ser transferida, levando mais tempo para atravessá-la. Por outro lado, se você tem uma estrada de 10 pistas, mas cada caminhão viaja a uma velocidade muito lenta, ainda leva muito tempo para que tudo seja entregue.

Agora imagine que, em vez de entregar para a próxima cidade, você precisa entregar o pai. Para levar as mercadorias desta cidade para outro país, ela tem que viajar por várias cidades e, entre cada cidade, existem diferentes rodovias; algumas estreitas, algumas largas, algumas subidas, algumas descidas, etc. Se a estrada da cidade 1 para a cidade 2 é ideal, assim como a estrada da cidade 3 para a cidade 4 (o destino), mas a estrada entre as cidades 2 e 3 é terrível, então se torna um gargalo . Isso faz com que a estrada entre 3 e 4 seja subutilizada e reduz o tempo total de entrega.

Aplicação:

De volta ao computador, obter dados de um lugar para outro é a mesma situação. Você tem dispositivos como CPU, GPU e RAM (as cidades), além de cabos e ônibus (as estradas não devem ser confundidas com os ônibus, embora isso ainda funcione). Um dispositivo como a CPU pode processar dados dentro e fora em uma determinada taxa que poderia ser chamada de largura de banda, embora ninguém realmente chame isso de banda. Em vez disso, a largura de banda geralmente se refere aos caminhos que os dados levam. Quando você tem um dispositivo cuspindo dados que precisam ir para outro lugar. A largura de banda é a quantidade (número de faixas) e velocidade (velocidade dos caminhões) através da qual os dados podem ser passados.

Explicação específica da questão:

No caso a que você está se referindo, o que eles querem dizer com GPUs tem memória dedicada que tem de 5 a 10X a largura de banda da memória da CPU não é a largura de banda da própria CPU ou GPU, mas sim a largura de banda através da qual os dados passam de um lado para outro entre esses dispositivos e suas memórias associadas. Especificamente, o barramento através do qual os dados passam entre a CPU e a RAM principal do sistema tem uma largura de banda menor do que o barramento através do qual os dados passam entre a GPU e a RAM na placa de vídeo. Isso se deve a dois fatores: a largura e a velocidade.

lado da GPU:

A largura do barramento entre a GPU e o vídeo-RAM é geralmente de 128 bits atualmente porque o vídeo-RAM está integrado no mesmo adaptador da GPU. Que ambos os componentes são montados pela mesma empresa significa que eles podem integrar firmemente a GPU e o vídeo-RAM de uma maneira que forneça uma transferência extremamente alta entre eles. Além disso, o vídeo-RAM tende a ser memória GDDR3 especializada atualmente, o que significa que ele pode acessar dados (de leitura / gravação) extremamente rápido. Finalmente, a GPU é uma CPU especializada que, devido à natureza da programação gráfica, pode fazer todos os tipos de operações aritméticas loucas em velocidades incrivelmente rápidas.

Lado da CPU:

Por outro lado, o barramento entre a CPU e a RAM do sistema é geralmente de apenas 64 bits. Existem inúmeras razões para isso, mas a compatibilidade tende a ser o principal fator limitante. Além disso, lembre-se de que os sistemas geralmente são construídos com componentes de várias fontes. Um fabricante faz o processador e outro (ou dois ou três) faz a RAM, e outro ainda faz a placa-mãe na qual o barramento está. Não há como saber de antemão quais componentes estarão presentes no sistema (qual CPU? Que tipo (s) de RAM? Quais dos inúmeros modelos de mobo?) Então eles têm que obedecer aos padrões, que freqüentemente reduzem ao mais baixo denominador comum. Se um dos módulos de RAM é mais lento que os outros, todos eles têm que reduzir sua velocidade para acomodar o lento. Se a placa-mãe puder manipular apenas 400MHz de RAM, a memória de 800MHz terá que ser executada a meia velocidade, e assim por diante. Todos esses fatores limitam a largura de banda total entre a CPU e a RAM do sistema. A própria memória RAM, mesmo que a DDR3 ainda seja provavelmente mais lenta que a vídeo-RAM especializada. Por fim, a CPU é um processador de propósito geral, em comparação com uma GPU, e, portanto, tenderá a ser mais lenta em geral.

Resumo:

Em resumo, o slide faz alusão ao fato de que o processador e a memória da placa de vídeo, como uma unidade, supera em muito o processador e a memória do sistema como uma unidade.

    
por 08.02.2012 / 18:31
0

Pense na largura de banda como o diâmetro de um cano de água. Quanto mais largo o cano de água, mais água pode fluir através de uma seção por unidade de tempo. Assim, quanto mais largura de banda um dispositivo tiver, mais dados ele poderá transferir por unidade de tempo.

    
por 08.02.2012 / 18:00
-1

Largura de banda significa apenas quantos dados seu dispositivo pode transferir por hora.

Você não precisa definir três larguras de banda diferentes, isso significa que cada conexão no seu sistema tem uma largura de banda e cada uma dessas linhas pode ser um gargalo para algo.

Por exemplo:

242 MB / s significa que pode transferir 242 MB por segundo. Agora, se você tem um aplicativo que precisa de muitas operações de memória em cargas de RAM, você está sendo afunilado por sua largura de banda de memória, mesmo que seu processador provavelmente possa calcular o trabalho mais rápido.

    
por 08.02.2012 / 17:55

Tags