-
Notifications
You must be signed in to change notification settings - Fork 498
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhance the CachingMemoryManager to possibly handle high memory pressure #188
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice. Thanks for the PR.
c555931
to
ee66782
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See suggestion here - #188 (comment). Almost there.
ee66782
to
8cb8a74
Compare
bed2c60
to
112cab8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice — almost there! :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
112cab8
to
6a4dd1c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jacobkahn has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
@WilliamTambellini - thank again for the contribution - looks good to me - do me a favor and rebase on matter then we'll be ready to merge. |
6a4dd1c
to
e55bb48
Compare
@WilliamTambellini has updated the pull request. You must reimport the pull request before landing. |
done |
e55bb48
to
ed35c16
Compare
@WilliamTambellini has updated the pull request. You must reimport the pull request before landing. |
target_link_libraries(Train flashlight-app-asr) | ||
target_link_libraries(Test flashlight-app-asr) | ||
target_link_libraries(Decoder flashlight-app-asr) | ||
target_link_libraries(Train flashlight-app-asr ${CMAKE_DL_LIBS}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jacobkahn This fixes circleCI link errors:
[ 8%] Linking CXX executable Train
/usr/bin/ld: CMakeFiles/Train.dir/flashlight/common/Plugin.cpp.o: undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libdl.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Enhance the CachingMemoryManager to possibly handle high memory pressure by adding 2 options. Note: the default behavior is unchanged.
ed35c16
to
3943b2a
Compare
@WilliamTambellini has updated the pull request. You must reimport the pull request before landing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jacobkahn has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jacobkahn has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
@jacobkahn merged this pull request in 1b5796e. |
Add flags to set configurable limits of the CachingMemoryManager. These flags allow customization for different workloads. This diff changes the default recycling size limit for training to 256MB. Following investigation of OOM on dynamic batching nd based on past allocation analyses we found that this limit works well. Big thanks for WilliamTambellini@ for his work on improving the memory manager capability in handling flexible workload: flashlight#188
Add flags to set configurable limits of the CachingMemoryManager. These flags allow customization for different workloads. This diff changes the default recycling size limit for training to 256MB. Following investigation of OOM on dynamic batching nd based on past allocation analyses we found that this limit works well. Big thanks for WilliamTambellini@ for his work on improving the memory manager capability in handling flexible workload: flashlight#188
Add flags to set configurable limits of the CachingMemoryManager. These flags allow customization for different workloads. This diff changes the default recycling size limit for training to 256MB. Following investigation of OOM on dynamic batching nd based on past allocation analyses we found that this limit works well. Big thanks for WilliamTambellini@ for his work on improving the memory manager capability in handling flexible workload: flashlight#188
Add flags to set configurable limits of the CachingMemoryManager. These flags allow customization for different workloads. This diff changes the default recycling size limit for training to 256MB. Following investigation of OOM on dynamic batching nd based on past allocation analyses we found that this limit works well. Big thanks for WilliamTambellini@ for his work on improving the memory manager capability in handling flexible workload: flashlight#188
…ure (#188) Summary: Enhance the CachingMemoryManager to handle high memory pressure by adding 2 options. Note: the default behavior is unchanged. Add a new API to MemoryManagerAdapter to setOption(). Side: remove some glog includes failing compilation if glog-dev not installed locally **Original Issue**: flashlight/flashlight#180 closes flashlight/flashlight#180 The CachingMemoryManager being greedy in memory. This PR adds 2 options to mitigate this. ### Test Plan (required) Implemented a new unitest in order to show OOM with the default CachingMM and no OOM if the right option is set. Pull Request resolved: flashlight/flashlight#188 Reviewed By: vineelpratap Differential Revision: D24435873 Pulled By: jacobkahn fbshipit-source-id: 99186439c1e306ad987079cc326ab68fe1f028fc
…ure (#188) Summary: Enhance the CachingMemoryManager to handle high memory pressure by adding 2 options. Note: the default behavior is unchanged. Add a new API to MemoryManagerAdapter to setOption(). Side: remove some glog includes failing compilation if glog-dev not installed locally **Original Issue**: flashlight/flashlight#180 closes flashlight/flashlight#180 The CachingMemoryManager being greedy in memory. This PR adds 2 options to mitigate this. ### Test Plan (required) Implemented a new unitest in order to show OOM with the default CachingMM and no OOM if the right option is set. Pull Request resolved: flashlight/flashlight#188 Reviewed By: vineelpratap Differential Revision: D24435873 Pulled By: jacobkahn fbshipit-source-id: 99186439c1e306ad987079cc326ab68fe1f028fc
…ure (#188) Summary: Enhance the CachingMemoryManager to handle high memory pressure by adding 2 options. Note: the default behavior is unchanged. Add a new API to MemoryManagerAdapter to setOption(). Side: remove some glog includes failing compilation if glog-dev not installed locally **Original Issue**: flashlight/flashlight#180 closes flashlight/flashlight#180 The CachingMemoryManager being greedy in memory. This PR adds 2 options to mitigate this. ### Test Plan (required) Implemented a new unitest in order to show OOM with the default CachingMM and no OOM if the right option is set. Pull Request resolved: flashlight/flashlight#188 Reviewed By: vineelpratap Differential Revision: D24435873 Pulled By: jacobkahn fbshipit-source-id: 99186439c1e306ad987079cc326ab68fe1f028fc
…ure (#188) Summary: Enhance the CachingMemoryManager to handle high memory pressure by adding 2 options. Note: the default behavior is unchanged. Add a new API to MemoryManagerAdapter to setOption(). Side: remove some glog includes failing compilation if glog-dev not installed locally **Original Issue**: flashlight/flashlight#180 closes flashlight/flashlight#180 The CachingMemoryManager being greedy in memory. This PR adds 2 options to mitigate this. ### Test Plan (required) Implemented a new unitest in order to show OOM with the default CachingMM and no OOM if the right option is set. Pull Request resolved: flashlight/flashlight#188 Reviewed By: vineelpratap Differential Revision: D24435873 Pulled By: jacobkahn fbshipit-source-id: 99186439c1e306ad987079cc326ab68fe1f028fc
…ure (#188) Summary: Enhance the CachingMemoryManager to handle high memory pressure by adding 2 options. Note: the default behavior is unchanged. Add a new API to MemoryManagerAdapter to setOption(). Side: remove some glog includes failing compilation if glog-dev not installed locally **Original Issue**: flashlight/flashlight#180 closes flashlight/flashlight#180 The CachingMemoryManager being greedy in memory. This PR adds 2 options to mitigate this. ### Test Plan (required) Implemented a new unitest in order to show OOM with the default CachingMM and no OOM if the right option is set. Pull Request resolved: flashlight/flashlight#188 Reviewed By: vineelpratap Differential Revision: D24435873 Pulled By: jacobkahn fbshipit-source-id: 99186439c1e306ad987079cc326ab68fe1f028fc
…ure (#188) Summary: Enhance the CachingMemoryManager to handle high memory pressure by adding 2 options. Note: the default behavior is unchanged. Add a new API to MemoryManagerAdapter to setOption(). Side: remove some glog includes failing compilation if glog-dev not installed locally **Original Issue**: flashlight/flashlight#180 closes flashlight/flashlight#180 The CachingMemoryManager being greedy in memory. This PR adds 2 options to mitigate this. ### Test Plan (required) Implemented a new unitest in order to show OOM with the default CachingMM and no OOM if the right option is set. Pull Request resolved: flashlight/flashlight#188 Reviewed By: vineelpratap Differential Revision: D24435873 Pulled By: jacobkahn fbshipit-source-id: 99186439c1e306ad987079cc326ab68fe1f028fc
…ure (#188) Summary: Enhance the CachingMemoryManager to handle high memory pressure by adding 2 options. Note: the default behavior is unchanged. Add a new API to MemoryManagerAdapter to setOption(). Side: remove some glog includes failing compilation if glog-dev not installed locally **Original Issue**: flashlight/flashlight#180 closes flashlight/flashlight#180 The CachingMemoryManager being greedy in memory. This PR adds 2 options to mitigate this. ### Test Plan (required) Implemented a new unitest in order to show OOM with the default CachingMM and no OOM if the right option is set. Pull Request resolved: flashlight/flashlight#188 Reviewed By: vineelpratap Differential Revision: D24435873 Pulled By: jacobkahn fbshipit-source-id: 99186439c1e306ad987079cc326ab68fe1f028fc
…ure (#188) Summary: Enhance the CachingMemoryManager to handle high memory pressure by adding 2 options. Note: the default behavior is unchanged. Add a new API to MemoryManagerAdapter to setOption(). Side: remove some glog includes failing compilation if glog-dev not installed locally **Original Issue**: flashlight/flashlight#180 closes flashlight/flashlight#180 The CachingMemoryManager being greedy in memory. This PR adds 2 options to mitigate this. ### Test Plan (required) Implemented a new unitest in order to show OOM with the default CachingMM and no OOM if the right option is set. Pull Request resolved: flashlight/flashlight#188 Reviewed By: vineelpratap Differential Revision: D24435873 Pulled By: jacobkahn fbshipit-source-id: 99186439c1e306ad987079cc326ab68fe1f028fc
Enhance the CachingMemoryManager to handle high memory pressure by adding 2 options.
Note: the default behavior is unchanged.
Add a new API to MemoryManagerAdapter to setOption().
Side: remove some glog includes failing compilation if glog-dev not installed locally
Original Issue:
#180
closes #180
Summary
The CachingMemoryManager being greedy in memory. This PR adds 2 options to mitigate this.
Test Plan (required)
Implemented a new unitest in order to show OOM with the default CachingMM and no OOM if the right option is set.