diff --git a/c10/core/AllocatorConfig.cpp b/c10/core/AllocatorConfig.cpp index 26058cf389a5..4d8bc9b8746e 100644 --- a/c10/core/AllocatorConfig.cpp +++ b/c10/core/AllocatorConfig.cpp @@ -128,7 +128,8 @@ size_t AcceleratorAllocatorConfig::parseRoundUpPower2Divisions( std::fill( std::next( roundup_power2_divisions_.begin(), - static_cast::difference_type>(last_index)), + static_cast::difference_type>( + last_index + 1)), roundup_power2_divisions_.end(), value); } else { diff --git a/c10/test/core/AllocatorConfig_test.cpp b/c10/test/core/AllocatorConfig_test.cpp index 5f6804639067..049d9921cd5e 100644 --- a/c10/test/core/AllocatorConfig_test.cpp +++ b/c10/test/core/AllocatorConfig_test.cpp @@ -67,8 +67,8 @@ TEST(AllocatorConfigTest, allocator_config_test) { EXPECT_EQ(AcceleratorAllocatorConfig::roundup_power2_divisions(128 * kMB), 2); EXPECT_EQ(AcceleratorAllocatorConfig::roundup_power2_divisions(256 * kMB), 4); EXPECT_EQ(AcceleratorAllocatorConfig::roundup_power2_divisions(512 * kMB), 2); - // EXPECT_EQ( - // AcceleratorAllocatorConfig::roundup_power2_divisions(1024 * kMB), 4); + EXPECT_EQ( + AcceleratorAllocatorConfig::roundup_power2_divisions(1024 * kMB), 4); EXPECT_EQ( AcceleratorAllocatorConfig::roundup_power2_divisions(2048 * kMB), 1); EXPECT_EQ( @@ -101,8 +101,8 @@ TEST(AllocatorConfigTest, allocator_config_test) { EXPECT_EQ(AcceleratorAllocatorConfig::roundup_power2_divisions(512 * kMB), 1); EXPECT_EQ( AcceleratorAllocatorConfig::roundup_power2_divisions(1024 * kMB), 0); - // EXPECT_EQ( - // AcceleratorAllocatorConfig::roundup_power2_divisions(2048 * kMB), 8); + EXPECT_EQ( + AcceleratorAllocatorConfig::roundup_power2_divisions(2048 * kMB), 8); EXPECT_EQ( AcceleratorAllocatorConfig::roundup_power2_divisions(4096 * kMB), 2);