9 de junho de 2012

Winzip 16.5 com aceleração OpenCL em placas de vídeo AMD Radeon

Quem acompanha meu blog sabe que gosto de testar aplicativos que usam novos paradigmas de programação, como GPGPU, também existe o caso do recurso de conversão de vídeo Quick Sync da linha Sandy e Ivy Bridge da Intel. Apesar da programação GPGPU já existir desde 2007 (e mesmo antes disso) poucos programas tiram proveito dela.

O Winzip, clássico programa de compactação de arquivos, foi comprado pela Corel (do editor de imagens vetorial) algum tempo atrás, desde então vem trazendo cada vez mais recursos (praticamente se tornando um Nero da compactação de arquivos). Sempre gostei mais do Winrar (que custa 1 dólar a menos) ou do 7-Zip (que é grátis), mas o Winzip nunca deixou de ser uma opção.

Interface do Winzip Pro 16.5
Como as novas CPUs da AMD tem uma ótima GPU e um processador não tão bom, a AMD passou a doar dinheiro para alguns projetos open source utilizarem OpenCL para acelerar a execução, como é o caso do Gimp e do HandBrake. Com o Winzip foi a mesma coisa, mas ele é pago.

Meu computador tem um processador da Intel e uma placa de vídeo AMD Radeon HD 5670 com suporte ao OpenCL, então resolvi testar o novo Winzip para realmente ver se existe um ganho de desempenho. Usei uma máquina virtual criada no VirtualBox com aproximadamente 10 GB para testar o tempo de compactação com a configuração "Maximum".

Gráfico de comparação, quanto menor, melhor.
Como é fácil observar o tempo de compactação diminuiu aproximadamente 33%, um belo ganho de desempenho. É importante notar que a compactação usando OpenCL também usa muito a CPU, com o Core 2 ficando a 100% de uso o tempo todo e a Radeon com aproximadamente 40%, portanto pode-se concluir que ainda existe espaço para colocar mais etapas na Radeon e, consequentemente, diminuir ainda mais o tempo. O problema é que apenas algoritmos altamente paralelizáveis são ideais para GPGPU, talvez já tenham colocados todos os possíveis.

O tamanho dos arquivos compactados ficou muito parecido. Com o do Core 2 com 4,70 GB e o usando OpenCL com 4,71 GB, uma diferença insignificante.

O chato é que usando a placa de vídeo o computador fica lento, começa a aparecer um delay durante a digitação. Isso, provavelmente, se deve ao escalonador (que divide o tempo de disponível da GPU entre todas as aplicações que estão a usando) construído pensando em jogos, o driver de vídeo não é otimizado para isso, o que pode ser arrumado nas próximas versões, provavelmente apenas quando e se GPGPU emplacar.

O Winzip 16.5 apenas suporta aceleração em placas AMD Radeon, custa $ 29,95 e pode ser adquirido pela internet.

Nenhum comentário: