alexeckert / parallelDist

R Package: Parallel Distance Matrix Computation using Multiple Threads
GNU General Public License v2.0
49 stars 9 forks source link

Only one thread is used #13

Closed chewnglow closed 5 years ago

chewnglow commented 5 years ago

Hi, Thanks for the job! The problem is I'm using 2 CPUs with total 64 threads, but only 1 thread is used when calling parallenDist(), despite manual setting threads=64 or 32. Thanks for your help! Screenshot_20190322_113233

alexeckert commented 5 years ago

Can you provide more details about your system (OS, Architecture, CPU, R version)?

I've tested the current parallelDist version with my Xeon processor (8 threads, 4 hyperthreading) with Win 7 and Ubuntu 18.04 and all cores were utilized.

> version
               _                           
platform       x86_64-pc-linux-gnu         
arch           x86_64                      
os             linux-gnu                   
system         x86_64, linux-gnu           
status                                     
major          3                           
minor          5.3                         
year           2019                        
month          03                          
day            11                          
svn rev        76217                       
language       R                           
version.string R version 3.5.3 (2019-03-11)
nickname       Great Truth  
install.packages("parallelDist")
library(parallelDist)

sample.matrix <- matrix(c(1:100000), ncol = 10)
test <- parDist(x = sample.matrix, method = "dtw")

If you don't write the results to a variable (test), only one core is used at the end to print the result (which can be large). So its better to not to print the result, to see that the actual computation was parallelized.

parallelDist uses the Intel TBB lib and Tiny thread library for parallelization, perhaps TBB is not compatible with your system.

chewnglow commented 5 years ago

Thanks for your reply! I've manually install the Intel TBB lib and it works.