David, Can you confirm that += is not thread safe but + is? I'm assuming + allocates a new object for the write, while += doesn't.
Thanks! RJ On Wed, Sep 3, 2014 at 2:50 PM, David Hall <[email protected]> wrote: > In general, in Breeze we allocate separate work arrays for each call to > lapack, so it should be fine. In general concurrent modification isn't > thread safe of course, but things that "ought" to be thread safe really > should be. > > > On Wed, Sep 3, 2014 at 10:41 AM, RJ Nowling <[email protected]> wrote: > >> No, it's not in all cases. Since Breeze uses lapack under the hood, >> changes to memory between different threads is bad. >> >> There's actually a potential bug in the KMeans code where it uses += >> instead of +. >> >> >> On Wed, Sep 3, 2014 at 1:26 PM, Ulanov, Alexander < >> [email protected]> >> wrote: >> >> > Hi, >> > >> > Is breeze library called thread safe from Spark mllib code in case when >> > native libs for blas and lapack are used? Might it be an issue when >> running >> > Spark locally? >> > >> > Best regards, Alexander >> > --------------------------------------------------------------------- >> > To unsubscribe, e-mail: [email protected] >> > For additional commands, e-mail: [email protected] >> > >> > >> >> >> -- >> em [email protected] >> c 954.496.2314 >> > > -- em [email protected] c 954.496.2314
