@@ -28,9 +28,13 @@ DEFINE_double(fraction_of_cpu_memory_to_use, 1,
28
28
" Default use 100% of CPU memory for PaddlePaddle,"
29
29
" reserve the rest for page tables, etc" );
30
30
31
- DEFINE_uint64 (
32
- initial_cpu_memory_in_mb, 500 ,
33
- " Default initial 500MB of CPU memory for PaddlePaddle, in MD unit." );
31
+ DEFINE_uint64 (initial_cpu_memory_in_mb,
32
+ #ifdef PADDLE_WITH_MKLDNN
33
+ 1000 ,
34
+ #else
35
+ 500 ,
36
+ #endif
37
+ " Initial CPU memory for PaddlePaddle, in MD unit." );
34
38
35
39
DEFINE_double (
36
40
fraction_of_cuda_pinned_memory_to_use, 0.5 ,
@@ -59,10 +63,7 @@ inline size_t CpuTotalPhysicalMemory() {
59
63
size_t CpuMaxAllocSize () {
60
64
// For distributed systems, it requires configuring and limiting
61
65
// the fraction of memory to use.
62
- return std::min (
63
- static_cast <size_t >(FLAGS_fraction_of_cpu_memory_to_use *
64
- CpuTotalPhysicalMemory ()),
65
- static_cast <size_t >(FLAGS_initial_cpu_memory_in_mb * 1 << 20 ));
66
+ return FLAGS_fraction_of_cpu_memory_to_use * CpuTotalPhysicalMemory ();
66
67
}
67
68
68
69
size_t CpuMinChunkSize () {
@@ -71,8 +72,11 @@ size_t CpuMinChunkSize() {
71
72
}
72
73
73
74
size_t CpuMaxChunkSize () {
74
- // Allow to allocate the maximum chunk size is roughly 3% of CPU memory.
75
- return CpuMaxAllocSize () / 32 ;
75
+ // Allow to allocate the maximum chunk size is roughly 3% of CPU memory,
76
+ // or the initial_cpu_memory_in_mb.
77
+ return std::min (
78
+ static_cast <size_t >(CpuMaxAllocSize () / 32 ),
79
+ static_cast <size_t >(FLAGS_initial_cpu_memory_in_mb * 1 << 20 ));
76
80
}
77
81
78
82
size_t CUDAPinnedMaxAllocSize () {
0 commit comments