Comments (3)
Note that currently, the pipeline [conda:macos-latest:Debug:c++17]
is running with the option CHECK_RUNTIME_MALLOC
which fails for several tests, meaning we still have eigen memory allocation in the dense solver. To not block PRs, this pipeline is allowed to fail in #117 .
from proxsuite.
The allocations here and here can be avoided by using again layzProduct
instead of the operator*
.
In our unittests, memory alloctions happen just above a dimension of the problem. A check with the proxqp_benchmark shows that a small speedup (2-5%) could be achieved by using layzProduct
instead of the operator*
for small size problems, while a great loss in performance is observed for bigger problems. We should maybe allow some dynamic memory allocation and let Eigen handle it under the hood how to treat different sizes.
from proxsuite.
Could this be an option for the user?
In massive multi-threaded environments, memory allocations can cause a huge performance drop as they often block other threads from allocating memory at the same time.
Hard-real time/embedded applications may also find some difficulties as the computation time may no longer be deterministic.
from proxsuite.
Related Issues (20)
- Memory allocations HOT 5
- Installing aarch64 binaries via pip HOT 5
- Unable to install the package HOT 2
- step length $\alpha$
- does proxqp optimize the case when objective matrix(H) is dense but inequality constraint matrix(C) is very sparse, HOT 3
- How to specify a CPU time limit like qpOASES HOT 14
- Time consumption VS OSQP(with MPC problem) HOT 10
- Add support of nonconvex QPs HOT 1
- Build failure on ROS Buildfarm for Iron Binaries HOT 8
- ProxQP on old Clang/GCC HOT 8
- Potential typo when computing `primal_feasibility_in_rhs_0` in `global_primal_residual`? HOT 2
- Add a wheel for Apple M1 and Python 3.11 HOT 3
- Include failure: couldn't find "proxsuite/config.hpp" HOT 1
- Question about installation from source. HOT 4
- Too strict symmetric check in model.is_valid() HOT 2
- Any suggestion for setting params for float? HOT 2
- Building error HOT 20
- Detect infeasible QP problem before solving it HOT 2
- Dealing with CPU/GPU in QPFunctionFn's backward
- Type error about QPFunction with structurally infeasible HOT 5
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 proxsuite.