none
R on a dual CPU machine RRS feed

  • Question

  • I am running R on and AMD Epyc machine with dual CPUs and Windows Server 2019. I Use Microsoft R Client with RStudio.

    R uses only one of the two cpus.

    When using parallel I can run up to 64 processes that end up using 50% of the CPU (according to task Manager). The machine should be able to run 128 processes. 

    How do I setup the server to make both cpu's visible to R. 

    Thank you for your help. I am new at all this...

    Thursday, August 29, 2019 7:03 PM

All replies

  • What packages/libraries do you use for parallelism?
    How many cores this script show?
    library(parallel)
    detectCores()
    detectCores(logical = FALSE) getMKLthreads()
    P.S. MKL results will be without HT, it's part of RevoUtilsMath package

    https://mran.microsoft.com/rro/installed
    If you check this link it says:
    ----------

    The multi-core machines of today offer parallel processing power. To take advantage of this, Microsoft R Open provides optional multi-threaded math libraries.

    These libraries make it possible for so many common R operations to use all of the processing power available. Matrix operations, most notably, can compute in parallel with all available processing power to significantly reduce computation times.

    When installed along with Microsoft R Open, they automatically use all available cores and processors to significantly reduce computation times
    ----------

    But it also mentions specifics for Windows: to download/install additional packages, although most likely these already are installed (with latest version of R Open).

    My build is part of ML Server (SQL Server) therefore parallelism comes "out of the box" with "RevoScaleR" and "parallel" package (including MKL), it also has some limitations/differences for Standard vs Enterprise/Developer editions on a subject of parallelism (notes here) but it's irrelevant for your case.
    Friday, August 30, 2019 2:17 AM
  • As Yuri indicated in his reply, try running those R functions to see what is returned. You likely have 128 LOGICAL processors, but only 64 physical ones. For parallel computing in R it only matters how many physical cores you have - logical cores are not relevant for mkl computations. 
    Friday, August 30, 2019 3:34 PM