[R-br] RES: [Dúvida] Microsoft R Open

Cristofer Weber cristofer.weber em neogrid.com
Quinta Julho 14 18:18:51 BRT 2016


Esclarecendo a questão da licença da lib MKL:

https://software.intel.com/en-us/articles/free-mkl

“The Intel® Math Kernel Library (Intel® MKL),<https://software.intel.com/en-us/intel-mkl> the high performance math library for x86 and x86-64, is available, on Windows*, Linux*, or OS X* for free for everyone (click here now to register and download<https://registrationcenter.intel.com/en/forms/?productid=2558>). Purchasing is only necessary if you want access to Intel® Premier Support (direct 1:1 private support from Intel), older versions of the library or access to other tools in Intel® <https://software.intel.com/en-us/intel-mkl> Parallel Studio XE.<https://software.intel.com/en-us/intel-parallel-studio-xe> Intel continues to actively develop and support this very powerful library - and everyone can benefit from that!”

Não há restrição para uso comercial. O licenciamento só é necessário se você quiser suporte.

O R Open (antigo Revolution, agora MS) é uma distribuição do CRAN R Open Source pré-compilado para uso da MKL e configurado para outro repositório do CRAN gerenciado pela MS, com versões estáticas dos pacotes. É a MS quem escolhe a versão de cada pacote neste repositório. O repositório fica vinculado à versão do R Open, ou seja, você só terá acesso a versões mais recentes dos pacotes quando atualizar a versão do R Open (https://mran.revolutionanalytics.com/rro/#repos).

Outra diferença mais sutil é que o R Open já traz consigo alguns pacotes a mais que o CRAN R (https://mran.revolutionanalytics.com/rro/installed/)

Utilizamos o R Open desde os tempos da Revolution. As operações matriciais da MKL são mais eficientes mesmo em modo single-thread. Tenha em mente que tanto single-thread quanto multithread você só terá benefício onde as primitivas de álgebra matricial forem aplicadas. Não há melhoria no desempenho da linguagem em si, que é bastante limitado devido ao modelo de memória baseado em listas encadeadas, Garbage Collector deficiente e passagem de parâmetros por cópia, entre outros.

Sobre a performance da linguagem, a Tibco possui uma versão proprietária mais eficiente (eles compraram o S-Plus, versão comercial da linguagem S, “pai” do R) e a Oracle também mantém uma versão proprietária (a qual ainda não avaliei).

Além disso, a Oracle está trabalhando numa implementação chamada FastR (https://github.com/graalvm/fastr), compatível com o CRAN R mas compilada para a JVM (Java Virtual Machine), com otimizações em tempo de compilação e por tabela com todas as otimizações da JVM para uso eficiente de arquiteturas de computadores modernas. Conversei com alguns dos envolvidos no projeto e eles reportam cobertura de 80% da versão 3.2.X do R sendo que as pendências estão na interoperabilidade com processos nativos (principalmente a integração com código C). Além do mais, será necessário recompilar todas as bibliotecas do CRAN a partir dos fontes. Mas é um projeto bastante promissor para quem espera maior desempenho na execução de programas escritos em R.

[]’s
Cristofer

De: R-br [mailto:r-br-bounces em listas.c3sl.ufpr.br] Em nome de Leonardo Fontenelle via R-br
Enviada em: Tuesday, July 12, 2016 14:28
Para: r-br em listas.c3sl.ufpr.br
Assunto: Re: [R-br] [Dúvida] Microsoft R Open

Se a questão for apenas a biblioteca MKL da Intel, isso é possível sem o cliente R da Microsoft. Detalhe que, para usar a biblioteca MKL, é necessário adquirir uma licença. Não entendi muito bem qual é a restrição, mas existe uma licença comunitária gratuita.

No caso específico do Arch Linux, é possível usar o pacote r-mkl do AUR. Ao compilar o mkl, é melhor não usar o yaourt, e sim baixar o PKGBUILD direto do AUR e rodar o makepkg à mão.

Imagino que, a longo prazo, a estratégia da Microsoft seja expandir a base de usuários para que isso estimule as empresas a trabalhar com o servidor R a Microsoft.

Abraços,

Leonardo Ferreira Fontenelle<http://lattes.cnpq.br/9234772336296638>


Em Ter 12 jul. 2016, às 14:13, Pedro Rafael via R-br escreveu:
Caros, como todos nós sabemos, a Microsoft está com o projeto Microsoft R Open que promete melhorar a versão de R disponibilizada no site do CRAN. Como padrão é utilizado a biblioteca MKL ao invés da OpenBLAS o que proporciona algumas melhorias a depender dos hardwares.
Sinceramente eu ainda não testei e li muito por cima sobre esse projeto, isto é, não tive ainda tempo de fazer benchmark para comparar.
Alguém de vocês já fizeram testes e teve algum tipo de experiência positiva ou negativa sobre o assunto que poderiam compartilhar aqui? Eu atualmente uso Arch Linux e tenho uma certa restrição à produtos da Microsoft. Porém, se de fato a empresa se propõe a melhorar massivamente a performance da linguagem, talvez seja algo muito interessante uma vez que existem novas linguagens dinâmicas surgindo e atendendo muito bem esses requisitos.
Saudações,
Pedro Rafael.
_______________________________________________
R-br mailing list
R-br em listas.c3sl.ufpr.br<mailto:R-br em listas.c3sl.ufpr.br>
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

This e-mail message, including any attachments, is for the sole use of the person to whom it has been sent and may contain information that is confidential or legally protected. If you are not the intended recipient or have received this message in error, you are not authorized to copy, distribute, or otherwise use it or its attachments. Please notify the sender immediately by return email and permanently delete this message and any attachments. NeoGrid makes no warranty that this email is error or virus free. NeoGrid Europe Limited is a company registered in the United Kingdom with the registration number 7717968. The registered office is 8-10 Upper Marlborough Road, St Albans AL1 3UR, Hertfordshire, UK. NeoGrid Netherlands B.V. is a company registered in the Netherlands with the registration number 3416.6499 and registered office at Science Park 400, 1098 XH Amsterdam, NL. NeoGrid North America Limited is a company registered in the United States with the registration number 52-2242825. The registered office is 55 West Monroe Street, Suite 3590-60603, Chicago, IL, USA. NeoGrid Japan is located at New Otani Garden Court 7F, 4-1 Kioi-cho, Chiyoda-ku, Tokyo 102-0094, Japan. NeoGrid Software SA is a company registered in Brazil, with the registration number CNPJ: 03.553.145/0001-08 and located at Av. Santos Dumont, 935, 89.218-105, Joinville - SC – Brazil.

Esta mensagem pode conter informação confidencial ou privilegiada, sendo seu sigilo protegido por lei. Se você não for o destinatário ou a pessoa autorizada a receber esta mensagem, não pode usar, copiar ou divulgar as informações nela contidas ou tomar qualquer ação baseada nessas informações. Se você recebeu esta mensagem por engano, por favor, avise imediatamente ao remetente, respondendo o e-mail e em seguida apague-a. Agradecemos sua cooperação.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160714/40f3d5ca/attachment.html>


Mais detalhes sobre a lista de discussão R-br