Cálculo de GFLOP

870 views
Skip to first unread message

Marcelo Collares

unread,
Jan 31, 2012, 12:22:18 PM1/31/12
to gpub...@googlegroups.com
Alguém sabe como se calcula a quantidade de GFLOPS de um GPU?


Marcelo Collares

Arthur Gregório

unread,
Jan 31, 2012, 12:34:36 PM1/31/12
to gpub...@googlegroups.com
pega a quantidade de flops que a GPU faz por ciclo e multiplica pela velocidade da gpu....

Exemplo: 

1 flop por ciclo, cada ciclo tem 1Ghz (ou 1000Mhz) ai vc faz 1 * 1000 = 1000 flops ou 1gflop 

saca?

so que se vc não souber quantos flops ela faz por ciclo, ai nao sei como faz pra chegar nesse valor... =(

-- 
Arthur P. Gregório
+55 45 9958-0302
@gregorioarthur
www.arthurgregorio.eti.br

Em 31 de janeiro de 2012 15:22, Marcelo Collares <mmcol...@gmail.com> escreveu:
Alguém sabe como se calcula a quantidade de GFLOPS de um GPU?



Marcelo Collares

--
Você está recebendo esta mensagem porque se inscreveu no grupo "GPU Brasil" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para gpub...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para gpubrasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/gpubrasil?hl=pt-BR.

Marcelo Collares

unread,
Jan 31, 2012, 12:37:57 PM1/31/12
to gpub...@googlegroups.com
Justamente!

Multiplico a quantidade de ciclos (contém no manual) pela quantidade de FLOPS (???).
Onde está especificado a quantidade de FLOPS é executada por ciclo?

Tenho duas placas, uma 9600 GT e uma GTX 460 e em nenhum dos dois manuais isso é descrito.

Marcelo Collares
Mestrando - Sistemas e Computação - IME
Analista de Sistemas - HeMoLab - http://www.lncc.br/prjhemo/equipe/desenv/marcelo.htm
Laboratório Nacional de Computação Científica - LNCC

Arthur Gregório

unread,
Jan 31, 2012, 12:48:07 PM1/31/12
to gpub...@googlegroups.com
pois é! aehuaeuhaeuh qndo fiz meu TCC também fiquei na dúvida... acabei omitindo essa informação por não ter uma fonte confiável pra por...

mas achei isso qndo pesquisei sobre:  http://en.wikipedia.org/wiki/GeForce_400_Series 

reza a lenda que o wiki dos eua é mais confiável, mas se vc for na fonte da informação talvez consiga.

a quantidade flops da 9600GT tem em um slide da própria NV, da uma olhada no google imagens que tem por lá.

-- 
Arthur P. Gregório
+55 45 9958-0302
@gregorioarthur
www.arthurgregorio.eti.br

Marcelo Collares

unread,
Jan 31, 2012, 1:00:43 PM1/31/12
to gpub...@googlegroups.com
O problema é que simplesmente dizer que tem tantos GFLOPS sem saber como calcular esse número fica uma coisa meio chutada. Ainda mais dizendo que a informação veio do Wikipedia.

Como fizeram esse cálculo se nem nas referências da NVidia isso é dito. Fica no mínimo duvidoso.


Marcelo Collares
Mestrando - Sistemas e Computação - IME
Analista de Sistemas - HeMoLab - http://www.lncc.br/prjhemo/equipe/desenv/marcelo.htm
Laboratório Nacional de Computação Científica - LNCC


Arthur Gregório

unread,
Jan 31, 2012, 1:03:55 PM1/31/12
to gpub...@googlegroups.com
por isso deixei de fora do meu trabalho... 

Realmente essa é uma informação difícil de conseguir, ou melhor, de acreditar que é.

-- 
Arthur P. Gregório
+55 45 9958-0302
@gregorioarthur
www.arthurgregorio.eti.br 

Alexsander Petry

unread,
Jan 31, 2012, 1:37:07 PM1/31/12
to gpub...@googlegroups.com
FLOPS é a quantidade de operações de ponto flutuante feitas a cada segundo, GFLOPS é que este número na escala 10^9 (Giga).
Você precisa saber a frequência de clock da GPU e em quantos ciclos de clock são necessários para efetuar uma operação de ponto flutuante, faça a divisão do primeiro pelo segundo e multiplique pelo número de cores da GPU. Veja a especificação das Teslas (a NVIDIA costuma se gabar do GFLOPS destas GPUs) e tente entender.

Na verdade GFLOPS na maioria dos casos não é uma boa métrica de desempenho. Você pode estudar a respeito no livro do petterson e renessy. Por exemplo: Se um dispositivo A efetua 5 operações de ponto flutuante para chegar no resultado de 10 * log (100), e outro dispositivo B efetua 4 operações de ponto flutuante, qual dispositivo possui melhor desempenho? O dispositivo A possuiria um número de GFLOPS maior.

O Tharsis já publicou uma apresentação sobre métricas de desempenho aqui na lista, procure se desejar.
Alexsander Petry

Marcelo Collares

unread,
Jan 31, 2012, 2:37:18 PM1/31/12
to gpub...@googlegroups.com
OK.
O clock do GPU está descrito nas especificações da placa.
O que não está descrito são quantos flops um Stream Processor pode executar por clock.
Lí algo sobre SFU, que deveria entrar nessa conta também pois cada Stream Multi-Processor possui alguns.

Se tivesse essas informações, bastava multiplicar.
Estou querendo evitar usar Wikipedia ou demais blogs e artigos de internet como referência.

Marcelo Collares

Bruno Coutinho

unread,
Jan 31, 2012, 6:38:39 PM1/31/12
to gpub...@googlegroups.com
Em 31 de janeiro de 2012 17:37, Marcelo Collares <mmcol...@gmail.com> escreveu:
OK.
O clock do GPU está descrito nas especificações da placa.

 
O que não está descrito são quantos flops um Stream Processor pode executar por clock.

Para precisão simples o valor é 3 para gefore 200, pois ela consegue executar um mul e um mad em um ciclo (só conseguem isso com muls e mads) e 
2 para fermi (um mad por ciclo).

Pra precisão dupla na fermi (as que são tesla e quadro), o valor cai pra 1 operação por sp por ciclo: os 2 grupos de 16 stream processors do multiprocessor se juntam pra executar mad em um warp em 2 ciclos.
As fermi gefore e geforce 200, têm que emular precisão dupla (não sei bem como fazem isso), mas fica 8 vezes mais lento que a precisão simples, aí seriam 0.25 flops/ciclo.
 
Lí algo sobre SFU, que deveria entrar nessa conta também pois cada Stream Multi-Processor possui alguns.

Nas geforce 8800 faziam isso, mas nas geforce 200 e fermi não contaram mais.
Acho que é porque no ciclo que a gpu escalona uma operação em sfu, ela deixa de disparar um mad, que é a instrução com mais flops.
 
Ai a precisão simples na geforce 580 fica: 
2 flops/ciclo/sp (mad) * 512 sp * 1.544GHz (lembrem que a frequência do sp é o dobro do resto do chip) = 1581.056 gflop/s
Reply all
Reply to author
Forward
0 new messages