<html><body><div>Just an amend to my last email. A second thought, I think you cannot use icpc to build Rcpp while R is built with GCC. Binaries built with icpc can link to and load shared objects (e.g., libR.so) built with GCC, but not the other way. So R may not be able to load the libRcpp.so or you shared objects that linked libRcpp.a (as you have to built them with icpc). So building R with icpc is perhaps your only choice, not just the easiest way.</div><div><br></div><div>Yan<br><br>On Jan 02, 2013, at 07:48 AM, Yan Zhou <zhouyan@me.com> wrote:<br><br></div><div><blockquote type="cite"><div class="msg-quote"><div>The easiest way is to build R yourself with intel icpc. Below is the script I used to build R on Linux with intel compilers. I assume you also has intel ifort installed (otherwise you can use gfortran). Intel C++ is not much faster than latest g++ for much optimization. But considering you are using CentOS, which is a clone of RHEL and come with GCC 4.4 series, icpc is considerable faster. Intel fortran generate somehow faster binary than gfortran. Besides intel come with faster math library and Intel compilers are bundled with MKL, the fastest BLAS implementation out there, I really don't see a reason why you shouldn't build R with it if you want to use this compiler on your work. Below is the script I used to build R on Linux with icc and ifort</div><div><br></div><div><div>#!/bin/bash</div><div><br></div><div>if [ $UID == 0 ]; then</div><div>    echo "Don't run this script as root"</div><div>    exit</div><div>fi</div><div><br></div><div>export CC="icc -std=gnu99"</div><div>export CXX="icpc -std=c++11"</div><div>export F77="ifort"</div><div>export FC="ifort"</div><div>export AR="xiar"</div><div>export LD="xild"</div><div>export CFLAGS="-g -fp-model strict -O3 -xHost"</div><div>export CXXFLAGS="-g -fp-model strict -O3 -xHost"</div><div>export FFLAGS="-g -fp-model strict -O3 -xHost"</div><div>export FCFLAGS="-g -fp-model strict -O3 -xHost"</div><div><br></div><div>cd ~/Documents/Build/R-src</div><div>svn up</div><div>./tools/rsync-recommended</div><div>mkdir -p ~/Documents/Build/R-build</div><div>rm -rf ~/Documents/Build/R-build/*</div><div>cd ~/Documents/Build/R-build</div><div><br></div><div>~/Documents/Build/R-src/configure \</div><div>    --build=x86_64-pc-linux-gnu \</div><div>    --with-blas="-lmkl_rt -openmp" \</div><div>    --with-lapack \</div><div>    --with-system-zlib \</div><div>    --with-system-bzlib \</div><div>    --with-system-xz \</div><div>    --with-system-pcre \</div><div>    --enable-openmp \</div><div>    --enable-R-shlib</div><div>make -j8</div><div><br></div><div>I never used RStudio. I guess it is an IDE so there maybe some work to do to make it work with a custom build R. For example, there can be problems of how RStudio find libR.so. If that is an issue you may need someone knows it better to help. If the server is not using Linux (not sure if I got the idea of RStudio server right) or you cannot access the server, then I have little to help. Intel compilers cannot build R on Mac due to some linker issue the last time I tried (maybe solved in most recent versions) and Windows is something I never use. Using a tool chain different than the one build R to build packages (such as Rcpp) is generally not a good idea. Though intel icpc is binary compatible with gcc, you can never be sure if some ABI issue will arise. However since icpc use libstdc++ which is built with gcc, they usually try very hard to avoid any compatibility issues.</div><div><br></div><div>If you can use it to build R and later found any problems with Rcpp, you can come back to the list. I know Dirk use G++ exclusively, but I use intel compilers regularly, so if there is any issue I may be able to help patch it.</div><div><br></div><div>Best,</div><div><br></div><div>Yan Zhou</div><br>On Jan 02, 2013, at 04:54 AM, Jules Archer <jules.archer@ymail.com> wrote:<br><br></div><div><blockquote type="cite"><div class="msg-quote"><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt" data-mce-style="color: #000; background-color: #fff; font-family: times new roman, new york, times, serif; font-size: 12pt;"><div>Hi,</div><div><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;" data-mce-style="color: #000000; font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;">I'm interested in using the intel compiler for current and future Rccp application development. Would it be possible to provide a simple</div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;" data-mce-style="color: #000000; font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;">example or two of how this alternative compiler can be used to compile Rccp applications?</div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;" data-mce-style="color: #000000; font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman',
 'new york', times, serif; background-color: transparent; font-style: normal;" data-mce-style="color: #000000; font-size: 16px; font-family: 'times new roman',
 'new york', times, serif; background-color: transparent; font-style: normal;">I've successfully installed the latest intel c++ compiler (v13) in a linux environment (CentOS6.3). The latest version of Rcpp (0.10.2) is working as is with gnu c++ in combination with Rstudio server. </div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;" data-mce-style="color: #000000; font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;" data-mce-style="color: #000000; font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;">Thanks!</div></div><div class="_stretch">_______________________________________________<br> Rcpp-devel mailing list<br> <a href="mailto:Rcpp-devel@lists.r-forge.r-project.org" data-mce-href="mailto:Rcpp-devel@lists.r-forge.r-project.org">Rcpp-devel@lists.r-forge.r-project.org</a><br> <a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" data-mce-href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a></div></div></blockquote></div><div class="_stretch">_______________________________________________<br> Rcpp-devel mailing list<br> <a href="mailto:Rcpp-devel@lists.r-forge.r-project.org" data-mce-href="mailto:Rcpp-devel@lists.r-forge.r-project.org">Rcpp-devel@lists.r-forge.r-project.org</a><br> <a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel" data-mce-href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel</a></div></div></blockquote></div></body></html>