I am on windows machine I am trying to compile a fortran subroutine that has call out to some blas function. I have not seen any examples of how to compile the module using Windows and intel compiler with mkl.
Any pointers on where to start will be appreciated.
Related
Openvino inference crashes. I think the source of issue is the note at the end of clinfo command:
your OpenCL library only supports OpenCL 2.1,
but some installed platforms support OpenCL 3.0.
Programs using 3.0 features may crash or behave unexpectedly
How can I upgrade my OpenCL library to 3.0 to resolve the issue?
OS: Ubuntu 20.04
Kernel: 5.15.2-051502-generic
The content of /etc/OpenCL/vendors/intel.icd file is:
/usr/lib/x86_64-linux-gnu/intel-opencl/libigdrcl.so
Try installing the latest Intel Compute Engine 21.45.21574 and see if it resolves the issue.
When submitting a package to CRAN, how can one get the resulting binaries for Windows and Mac OSX to take advantage of OpenMP?
i.e., what make or compiler hooks do the CRAN machines look for to build for OpenMP code?
Unix source
R has good OpenMP support under unix. Just include the ifdef _OPENMP. (users must download package source and compile packages on their machine).
OS X binaries
Since mid-2018, R for OS X is compiled using clang, with a custom clang giving OpenMP support. Binary packages which take advantage of OpenMP (e.g. OpenMx) run in parallel. Source compilation is eased by the compiler installer provided at CRAN toolshttps://cran.r-project.org/bin/macosx/tools/clang-6.0.0.pkg
Using other non-CRAN compilers (e.g. homebrew) is strongly advised against.
Windows binaries
As of 2019, the windows toolchain supports OpenMP and pthreads, but it's slow and not enabled by default. Comments indicate this might change.
Refs
https://cran.r-project.org/doc/manuals/R-exts.html#OpenMP-support
As of R 3.5.3 manual:
Apple builds of clang on macOS currently have no OpenMP support, but
CRAN binary packages are built with a clang-based toolchain which
supports OpenMP.
http://www.openmp.org/resources/openmp-compilers-tools gives some idea
of what compilers support what versions.
Source-based installs of CRAN packages for most MacOS users will fail and/or not have openmp, unless they have installed, e.g. via homebrew, clang with openmp support. The method for doing evolves, so search for recent posts with terms like "homebrew clang openmp makevars R CRAN".
Because I don't have device to test so I ask this question
If i use OpenCL on XeonPhi I only want install the driver and runtimes of XeonPhi (https://software.intel.com/en-us/articles/opencl-drivers), then OpenCL can run and complier code, is that right ? And how about MPSS (https://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss-archive#33n-2) i see when deverlop OpenCL on Linux, must install MPSS and driver and runtimes of XeonPhi.
I haven't found a document introduced the detail about using OpenCL on XeonPHi on WindowOS , Can you share with me some document about this ?
The Intel® Xeon Phi™ coprocessor always runs Linux. However, you can run either Linux or Windows on the host system. Regardless of which operating system you run on your host, you will always install a version of the MPSS.
If you want to run Windows on your host system and use OpenCL with the coprocessor, you would use the OpenCL™ Runtime 14.2 for Intel® CPU and Intel® Xeon Phi™ coprocessors for Windows* (64-bit) which would give you a Windows compatible runtime for your host and a Linux compatible runtime for the coprocessor. There is no OpenCL™ Code Builder for Windows, independent of the Intel® INDE and Intel® Media Server Studio, neither of which support the 14.2 version of the runtime.
I was trying to install 'gputools' and 'rpud', but got the same "nvcc fatal : Unsupported gpu architecture 'compute_30" error for both.
I assume something is wrong with my CUDA kit configuration.
I installed:
CUDA drivers 3.1.17
CUDA toolkit 3.2.17
GPU computing SDK 3.1
I can see CUDA panel in system preferences, and the path to NVCC is placed as well.
Machine is MAC Book Pro with OSX 10.6.8, Nividia gt 330m (with drivers 256.00.35f12), Intel Core i7
Maybe someone could help to solve this problem?
I believe that at the time of CUDA Toolkit 3.2 there were no devices of compute capability 3.0. However, support for the cards of compute capability 3.0 is obviously required by 'gputools' and 'rpud' so you should simply install newer CUDA Toolkit such as 6.5, latest driver etc., that already support compute capability 3.0.
Also, your GPU, GT330m, is only of compute capability 1.2, so in the end, once you do all of the above, you won't be able to run the software using your GPU anyway.
Also, I have no knowledge of 'gputools', nor 'rpud', but I presume you are talking about this package. If so, then quoting from linked resource:
SystemRequirements: Nvidia's CUDA toolkit (>= release 5.0)
I'm trying in vain to compile the armadillo linear algebra library for windows. Using the armadillo-4.200.0 source, I have Rtools-3.1 installed and in the path, msys from MinGW installed.
Because my ultimate goal is to use Rcpp and RcppArmadillo, my thought is that I need to use the same compiler for making armadillo as will be used to compile my Rcpp/RcppArmadillo files. Unfortunately, when trying to compile armadillo:
$ ./configure
[...snip...]
-- The CXX compiler identification is unknown
-- Check for working CXX compiler: cl
CMake Warning at CMakeLists.txt:3 (PROJECT):
To use the NMake generator, cmake must be run from a shell that can use the
compiler cl from the command line. This environment does not contain
INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
work.
CMake Error: your CXX compiler: "cl" was not found. Please set CMAKE_CXX_COMPILER to a valid compiler path or name.
[...snip...]
(I tried setting CMAKE_CXX_COMPILER to my Rtools gcc.exe with no luck.)
I believe that it is looking for the visual C compiler, though the docs imply that it can be done solely with the mingw or cygwin compiler environments.
Either:
Is there a problem with compiling the armadillo library and subsequent Rcpp code with different versions of the compiler? (Rtools-3.1 has gcc version 4.6.3, MinGW has gcc version 4.8.1.)
Is there a clean method for compiling armadillo with just the Rtools collection?
(Win7 x64, R-3.1.0, cygwin gcc 4.8.2, rtools 3.1 with gcc 4.6.3.)
RcppArmadillo ships its own copy of Armadillo to avoid exactly this problem. As RcppArmadillpo is used from R, it can rely on R (and R's configuration) to get LAPACK, BLAS, etc pp. We don't need to run configure to use Armadillo from R, and so we don't do.
RcppArmadillo installs the usual R CMD INSTALL ... way; this is tested before every release and has worked reliably.
As you say "your ultimate goal is to use Rcpp and RcppArmadillo", you are in fact done at the R CMD INSTALL .... You can replicate the step from source, and test the package -- all that should "just work".
The other thing to keep in mind is what the "Writing R Extensions" and "R Installation and Administration" manuals have to say about your compiler. As far is R is concerned, your g++ 4.8.* does not exist. Only the Rtools version matters, or you get into non-standard land real quick.