From tomas.kalibera at gmail.com  Mon Jan  8 15:57:35 2018
From: tomas.kalibera at gmail.com (Tomas Kalibera)
Date: Mon, 8 Jan 2018 15:57:35 +0100
Subject: [Rd] Fwd: R/MKL Intel 2018 Compatibility
In-Reply-To: <CAJ48xmAT9pPictc46Z_K+=EqCYzY-42J6UdhE=qO2sB-ShyQaA@mail.gmail.com>
References: <CAJ48xmAzJSZLdWmXBa7vMLAb8FZa1qT6ud0khaU+Oxf6ytCckw@mail.gmail.com>
 <CAJ48xmBo+R8ye36A2UnPXiaq4BCqvJ5d5y6Q8AqFaZC11CtriQ@mail.gmail.com>
 <CAJ48xmAT9pPictc46Z_K+=EqCYzY-42J6UdhE=qO2sB-ShyQaA@mail.gmail.com>
Message-ID: <b9a3530a-78e5-1db3-81ac-ac61e66bae39@gmail.com>

Hi Guillaume,

In principle, mycrossprod function does not need to PROTECT "ans", 
because it does not call any allocating function after allocating "ans" 
("dgemm" in particular should not allocate from the R heap). So it is 
surprising that PROTECTion makes a difference in your case. I agree 
there is no harm protecting defensively. R itself calls dgemm with the R 
object for the result protected when calculating matrix products, but 
there it is needed because there is further allocation when setting up 
attributes for the result.

Best
Tomas


On 01/08/2018 02:41 PM, Guillaume Collange wrote:
> Dear all,
>
>
>
> I would like to submit an issue that we are facing.
>
>
>
> Indeed, in our environment, we are optimizing the R code to speed up some
> mathematical calculations as matrix products using the INTEL libraries (
> MKL) ( https://software.intel.com/en-us/mkl )
>
>
>
> With the last version of the MKL libraries Intel 2018, we are facing to an
> issue with *all INTERNAL command* that are executing in R. The R console is
> freezing executing a process at 100% and never stop!!! It?s really an issue
> for us.
>
>
>
> As example, we can reproduce the error with *crossprod. Crossprod *which is
> a wrapper of BLAS GEMM (optimized with MKL libraries), in this function it
> seems that variables are not protected ( PROTECT(); UNPROTECT() ), see the
> screenshot below, which is a recommendation for external commands:
>
>
>
> Picture1
>
>
> *RECOMMANDATION*
>
> *Picture2*
>
> *Code of CROSSPROD*
>
>   Picture 3
>
>
>
> If we are recoding the CROSSPROD function with PROTECTT
>
> No more issues?
>
>
>
>
>
> Do you have any idea to solve this bug? Any recommendations?
>
>
>
>
>
> Thank you by advance for your help.
>
>
>
>
>
> Best regards,
>
> Guillaume Collange
>
>
>
>
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



	[[alternative HTML version deleted]]



[Rd] Fwd: R/MKL Intel 2018 Compatibility
Tomas Kalibera