OpenCl e as ferramentas para ele. Revisões e impressões. - página 27

 
Estas são histórias de susto infundadas da era OpenCL 1.0. Parece um texto de 2009-2010.
 
Renat:
Estas são histórias de susto infundadas da era OpenCL 1.0. Parece um texto de 2009-2010.

Do que você está falando, Rinat?

Catalyst Drivers 11.7 WHQL e 11.8 Preview foram lidos para download e a AMD mudou seu APP-SDK para acelerar o OpenCL

aplicações para a versão 2.5, agora finalmente suportando Double Precision/Doubles/FP64/watchamacallit via cl_khr_fp64.

A advertência, porém: está incluída apenas para GPUs baseadas em Cypress, não Cayman e não chips mais antigos capazes de cálculos precisos de 64 bits.

http://www.gpu-tech.org/content.php/167-AMD-Catalyst-Driver-11.7-AMD-APP-SDK-2.5-bring-double-precision-for-Cypress-AVX-for-CPUs

Radeon HD 6990/6970/6950 (baseado em Cayman):

- Dupla precisão a 1/4 de velocidade
Radeon HD 6870/6850/6790 (com base em Barts):
- Sem duplo suporte de precisão

Radeon HD 6 770/6750 (baseado em Juniper, renomeado para uso OEM):
- Sem duplo suporte de precisão

Radeon HD 6670/6650 (com base em turcos):
- Sem duplo suporte de precisão

Radeon HD 6450 (com base em Caicos):
- Sem duplo suporte de precisão

Radeon HD 5970 (à base de cipreste):
- Dupla precisão a 1/5 de velocidade

Radeon HD 5870/5850/5830 (baseado em Cypress):
- Dupla precisão a 1/5 de velocidade

Radeon HD 5 770/5750 (baseado em zimbro):
- Sem duplo suporte de precisão

Radeon HD 5670/5650/5570 (com base em Redwood):
- Sem duplo suporte de precisão

Radeon HD 5450 (com base em Cedro):
- Sem duplo suporte de precisão

Radeon HD 4890/4870/4850/4830/4730 (com base no RV770/790):
- Dupla precisão a 1/5 de velocidade

Radeon HD 4770 (com base no RV740):
- Dupla precisão a 1/5 de velocidade

Radeon HD 4670/4650 (com base em RV730):
- Sem duplo suporte de precisão

Radeon HD 4550/4350 (com base em RV710):
-Sem Suporte de Dupla Precisão

Radeon HD 3870/3850 (com base no RV670):
- Dupla Precisão (à 1/5ª velocidade)

Radeon HD 3650 (com base no RV635):
- Sem duplo suporte de precisão
Radeon HD 3470/3450 (com base no RV615):
-Sem Suporte de Dupla Precisão

Radeon HD 2900 XT/Pro/GT/OEM (com base em R600):
-Sem Suporte de Dupla Precisão

Radeon HD 2600 XT/Pro (com base no RV630):
- Sem duplo suporte de precisão

Radeon HD 2400 XT/Pro (baseado em RV610):- DirectX 10 (sem Compute Shader, porém) e inferior,

- Sem duplo suporte de precisão

http://developer.download.nvidia.com/compute/cuda/4_1/rel/toolkit/docs/CUDA_Toolkit_Release_Notes_And_Errata.txt

//forums.nvidia.com/index.php?showtopic=34744Windows 2003 Server não foi testado nem qualificado para uso com a CUDA.


Rinat, diga-nos como é possível escrever um programa Win32 não intencionalmente para fazê-lo funcionar no WinXP, Win Server 2008, Vista-Win7 e ao mesmo tempo não funcionar no Win Server 2003 ?? nVidia CUDA SDK instalador de qualquer versão 3+ não vai nem mesmo instalar
no Server 2003 (não vai desempacotar !), estupidamente escreve referência de célula inválida, como no Win 3.1. Como a nVidia poderia fazer isso no programa Win32 UNEXECUCIONAL?
 

Há muito sobre a precisão estrutural na GPU, o programador do software FIXED precisa ser muito, muito cuidadoso, bem mesmo da própria Nvidia, por exemplo:

http://developer.nvidia.com/content/precision-performance-floating-point-and-ieee-754-compliance-nvidia-gpus

4.7 Diferenças das GPUs x86 NVIDIA di er da arquitetura x86 na medida em que os modos de arredondamento são codificados dentro de cada instrução de ponto de espuma em vez de usar dinamicamente uma palavra de controle de ponto de espuma. Os manipuladores de armadilhas para exceções de ponto flutuante não são suportados. Na GPU não há nenhuma bandeira de status para indicar quando os cálculos transbordaram, transbordaram ou envolveram uma aritmética inexata. Como a SSE, a precisão de cada operação de GPU é codificada na instrução (para x87 a precisão é controlada dinamicamente pela palavra de controle de ponto flutuante).

Estudar a CUDA e OpenCL às vezes dá a impressão paranormal de que os fabricantes de ferro decidiram finalmente matar a matemática com suas "revoluções" e marketing wow-hysteria - quando eles criam artificialmente um sentido falso do que e como exatamente o meu computador deveria fazer. Ao invés de cálculos matemáticos exatos e previsíveis, é proposta sua velocidade frenética e centrada no jogador.

O programador tem que estar muito atento à precisão dos cálculos, e tomar decisões sobre se deve calcular na CPU ou GPU. Além disso, os proprietários de hardware, juntamente com a Microsoft, também fizeram, sorrateiramente, uma bagunça feia na CPU.

Bem, eu tenho trabalho a fazer. Adeus.

 

Não parece ter sido discutido ainda...

Link relacionado: Biblioteca AMD C++ AMP integrada no Visual Studio 11 http://blogs.amd.com/developer/2012/03/01/amd-and-the-visual-studio-11-beta/ Entendo que o beta já pode ser baixado.

 
alsu:

Não parece ter sido discutido ainda...

Link relacionado: Biblioteca AMD C++ AMP integrada no Visual Studio 11 http://blogs.amd.com/developer/2012/03/01/amd-and-the-visual-studio-11-beta/ Entendo que o beta já está disponível para download.

Particularmente interessante é isto:

Auto-vetorização

Também novo no C++ no Visual Studio 11 é um vetorizador automático que está ligado por padrão. O compilador vetorizará loops onde for possível para melhorar o desempenho usando instruções vetoriais no processador (como SSE2 e SSE4.x). Pegue o seguinte exemplo de trecho de código:

flutuador A[1000], B[1000], C[1000];

para (i = 0; i < 1000; i++) {

A[i] = B[i] + C[i];

}

O compilador C++ pode vetorizar este loop a fim de executar várias iterações simultaneamente, melhorando significativamente o desempenho com instruções disponíveis em processadores modernos.

Além do vetorizador, o paralelizador automático executará loops através de múltiplos processadores de CPUs no sistema, obtendo uma melhor utilização eficaz do hardware subjacente. O paralelizador requer a entrada do programador para indicar os laços que devem ser paralelizados, e também pode ser usado em conjunto com o auto-vetorizador.

 
O que eu me pergunto é quanto deste material vai incluir o apoio da AMD64. não querem ficar pendurados na Intel
 
joo:

Particularmente interessante é isto:

Auto-vetorização

Também novo no C++ no Visual Studio 11 é um vetorizador automático, que está ligado por padrão. O compilador vetorizará loops onde for possível para melhorar o desempenho usando instruções vetoriais no processador (como SSE2 e SSE4.x). Pegue o seguinte exemplo de trecho de código:

flutuador A[1000], B[1000], C[1000];

para (i = 0; i < 1000; i++) {

A[i] = B[i] + C[i];

}

O compilador C++ pode vetorizar este loop a fim de executar várias iterações simultaneamente, melhorando significativamente o desempenho com instruções disponíveis em processadores modernos.

Além do vetorizador, o paralelizador automático executará loops através de múltiplos processadores de CPUs no sistema, obtendo uma melhor utilização eficaz do hardware subjacente. O paralelizador requer a entrada do programador para indicar os laços que devem ser paralelizados, e também pode ser usado em conjunto com o auto-vetorizador.

Isto é forte. Realmente forte. A evolução da tecnologia informática em direção à paralelização está literalmente acontecendo diante de nossos olhos.
 
AlexEro:

Do que você está falando, Rinat?

Catalyst Drivers 11.7 WHQL e 11.8 Preview foram lidos para download e a AMD mudou seu APP-SDK para acelerar o OpenCL

Meu ponto é que você finge que não existe hoje e tenta emitir conclusões flagrantemente falsas.

Por exemplo, colocando as versões mais antigas de placas de vídeo como prova e teimando em ignorar os modelos 7XXX e os drivers Catalyst 12.x

A julgar por suas declarações sobre Windows 2003, você é um defensor de "TODOS" e com base na violação de tal condição sagrada (como lhe parece a você), o mundo deveria admitir sua inutilidade e ir rezar por perdão. O mundo simplesmente segue em frente, evoluindo e lançando novos e melhores produtos.

Você não sabe como software incompatível pode ser escrito porque você não desenvolve este software produzido em massa e não sabe quais são os problemas técnicos e os compromissos necessários. Exigir que os fabricantes de placas de vídeo suportem a antiga versão de servidor do Windows 2003 é extremismo do consumidor. Os fabricantes de software estão felizes em esquecer o zoológico de sistemas operacionais antigos como um pesadelo. E os fabricantes de motoristas estão apenas sonhando com isso.

P.S.: não há necessidade de saltar para um método comparativo trivial "por que eles apoiam 2008", substituindo a compreensão real das causas

syl: pare de usar a versão quebrada do Windows 2003 Server - estamos em 2012

 
Renat:

Quero dizer que você finge que hoje não existe e tenta tirar conclusões francamente falsas.

Por exemplo, colocando as versões mais antigas de placas de vídeo como prova e teimando em ignorar os modelos 7XXX e os drivers Catalyst 12.x.

A julgar por suas declarações sobre Windows 2003, você é um defensor de "TODOS" e com base na violação de tal condição sagrada (como lhe parece a você), o mundo deveria admitir sua inutilidade e ir rezar por perdão. O mundo simplesmente segue em frente, evoluindo e lançando novos e melhores produtos.

Você não sabe como um software incompatível pode ser escrito porque você não desenvolve este software mais produzido em massa e não sabe quais são os problemas técnicos e as compensações necessárias. Exigir que os fabricantes de placas de vídeo suportem a antiga versão de servidor do Windows 2003 é extremismo do consumidor. Os fabricantes de software estão felizes em esquecer o zoológico de sistemas operacionais antigos como um pesadelo. E os fabricantes de motoristas estão apenas sonhando com isso.

Nota: não há necessidade de saltar para o banal "por que eles apoiam 2008 então" método comparativo que substitui uma compreensão real das causas

syl: pare de usar a versão quebrada do Windows 2003 Server - estamos em 2012

Bem, eu entendo perfeitamente sua resposta. Ha-ha, espero que outros também o façam.

E é isso que, provavelmente vou seguir seu conselho, é exatamente o mesmo que minhas intenções. Portanto, vou deixar todos aqui por um tempo - um ano ou dois.

Adeus.

 
AlexEro:

Bem, eu entendo muito bem sua resposta. Ha ha, espero que todos os outros também o façam.

E digo-lhe uma coisa, vou seguir seu conselho, ele coincide com minhas intenções. Portanto, vou deixar todos aqui por um tempo - um ano ou dois.

Adeus.

Você nunca adivinharia por um post que seu autor é o tópicostarter.... O motivo pelo qual ele iniciou a linha não é claro.