Refs #221 #246. Fixed the overflowing stack bug in mutlithreading BLAS3.
authorZhang Xianyi <traits.zhang@gmail.com>
Sun, 7 Jul 2013 17:07:05 +0000 (01:07 +0800)
committerZhang Xianyi <traits.zhang@gmail.com>
Sun, 7 Jul 2013 17:07:05 +0000 (01:07 +0800)
commit5d3312142a2926bad34924971208673818947120
tree85ccd58f30907da594cd5a45574f52978d23f3e0
parent886cbaf4e4a04cb759228538e5bf76108a11a3a4
Refs #221 #246. Fixed the overflowing stack bug in mutlithreading BLAS3.

When NUM_THREADS(MAX_CPU_NUNBERS) is very large ,e.g. 256.

typedef struct {
  volatile BLASLONG working[MAX_CPU_NUMBER][CACHE_LINE_SIZE * DIVIDE_RATE];
} job_t;

job_t          job[MAX_CPU_NUMBER];

The job array is equal 8MB.

Thus, We use malloc instead of stack allocation.
driver/level3/level3_gemm3m_thread.c
driver/level3/level3_syrk_threaded.c
driver/level3/level3_thread.c
driver/others/memory.c
lapack/getrf/getrf_parallel.c
lapack/potrf/potrf_parallel.c