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), 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). 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®
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@listas.c3sl.ufpr.br]
Em nome de Leonardo Fontenelle via R-br
Enviada em: Tuesday, July 12, 2016 14:28
Para: r-br@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,
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
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.