Comments (5)
GLOP is memory intensive. I guess your computer is memory bandwidth bound.
from 64GB it uses only 12Gb for 10 threads, the memory should not be a bottleneck.
That's imho not whats meant by "memory-bound" here.
The question is how much memory needs to be read for doing x cycles of computation.
GLOP being memory intensive could mean, that some operation which is relatively cheap, e.g. an accumulation which would take 1 microsec without waiting for data, but needs to fetch 20MB of memory/data which might be much slower...
Now one can sometimes recognize that something is compute bound (ALU work at cpu is bottleneck) or memory-bound (waiting for memory is bottleneck: e.g. well-optimized matrix-multiplication).
GLOP "seems" to be memory-bound or near that (lots of data is touched for relatively simple calculations) and issues related to that will get much more worse when you overcommit by parallel work as thread-scheduling will lead to cache-invalidation (and maybe less good prefetching) further worsening your memory-fetching.
As this is lots of guessing, one being interested should probably analyze this more by:
- Comparing low-bandwith systems (consumer cpus) with high-bandwith systems (server cpus with many memory-channels)
- Using valgrind or similar "simulation-based" tools
- Using CPU-supported profiling
- Hardware-counter based analysis of cache-misses and co.
from or-tools.
What is the size of one problem in RAM ? Did you see some swap ?
Also having several GLOP in // you must increase the cache miss ratio between process...
from or-tools.
What is the size of one problem in RAM ? Did you see some swap ? Also having several GLOP in // you must increase the cache miss ratio between process...
one problem is about 1.1Gb of Ram (regarding TaskManager). I have not observed swaps.
What did you mean by the last sentence?
from or-tools.
GLOP is memory intensive.
I guess your computer is memory bandwidth bound.
from or-tools.
GLOP is memory intensive. I guess your computer is memory bandwidth bound.
from 64GB it uses only 12Gb for 10 threads, the memory should not be a bottleneck.
from or-tools.
Related Issues (20)
- Solving the max flow problem failed HOT 2
- RuntimeError('Unrecognized new version of ortools (9.8.3296). Expected < 9.8.0. Please open a feature request on cvxpy to enable support for this version.') HOT 1
- how to get current variable value? HOT 2
- Python builds are failing in the current `main` branch HOT 1
- Building from source OR-Tools C++ on Windows generates "Internal compilation error" at build HOT 1
- Linker tools error on ortools_full.lib: "int CbcOrClpEnvironmentIndex" (?CbcOrClpEnvironmentIndex@@3HA) already defined HOT 1
- Bug? Huge variance in CBC solver
- How IntExpr().Var() affect the search process. HOT 1
- what difference between IntVar.setRange and solver.addConstraints HOT 1
- AddNoverlap2D does not work with OnlyEnforceIf HOT 2
- MiniZinc `network_flow_cost` broken HOT 9
- MiniZinc 2.8.2 + CP-SAT 9.8.3296 (bundled): diffn: missing solutions HOT 1
- Version 9.8 fails to build with abseil-20230125.3: error: no matching function for call to 'StrCat' HOT 2
- Support for Gurobi v11 HOT 4
- Inverse constraint crashes presolve HOT 2
- Dynamic Library Support for Windows HOT 3
- 9.8 fails to build with abseil-20240116.0: error: nested name specifier 'LogSeverity::' for declaration does not refer into a class, class template or class template partial specialization HOT 1
- Build error: patch for pybind11_protobuf is outdated HOT 2
- Same problem, different optimal solutions with different solvers? HOT 8
- Can't generate python release package HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from or-tools.