- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Hi.
I am trying using vtune to analysis the my code. When I use the microarchitecture analysis. It shows my code is terrible.
Then I go to the bottom-up windows. Trying to see the which function causes this problem. When I choose Function/stack in group:
It shows my four function run very well.(My four functions is update_slack ....)
But when I choose source / function / Call stack in group
It shows that:
It seems that these functions cause my problem. But actually I even not use this function in my code!!.
I have two problem:
1, What is the difference between the source function and function.
2, I never use this function. How these functions appears in my profilers?
Best,
lzxdjb
コピーされたリンク
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Eigen is a C++ template library for linear algebra, if your functions call these library functions? By default, the child processes will be analyzed by the VTune, if the functions are called by the processes? From the VTune result, the bottlenecks should be located in the library.
Hotspots analysis type with call stack can tell you the callers of the library functions.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
I never call Eigen::internal::function;
In fact, These kind of functions even never appears in the Eigen library!
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
It is interesting. Did you launch one application or profile system? Please post your command line.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
I actually run a binary file in the VTune-gui. I do not run any command line. I think I just launch one application, put the binary file into it, and I run microarchitecture analysis.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Please share the binary if possible. I can try it locally.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
MY code actually use four function: update_slack update_primal update_dual update_linear_cost. I think this four functions should be the top of time. But actually I even could not find them since they cost so short time compare to those Eigen::internal .... , that even not appear in Eigen library!
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
It looks like the binary is based on Mac OS? I can't run it on Windows and Ubuntu. Actually, VTune doesn't support Mac OS anymore.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
I run it in ubuntu. I guess because binary can only run in local machine.
here is the source code:
you can first :
mkdir build
cd build
cmake ..
make
and the binary file is in the ../build/examples/original_tine_profile.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Failed to build.
yuzhang3@yuzhang3-10710:~/workspace/isvc_jira_ips/TinyMPC/build$ make
[ 16%] Building CXX object src/tinympc/CMakeFiles/tinympc.dir/admm.cpp.o
In file included from /home/yuzhang3/workspace/isvc_jira_ips/TinyMPC/include/Eigen/Eigen.h:61,
from /home/yuzhang3/workspace/isvc_jira_ips/TinyMPC/src/tinympc/types.hpp:3,
from /home/yuzhang3/workspace/isvc_jira_ips/TinyMPC/src/tinympc/admm.hpp:3,
from /home/yuzhang3/workspace/isvc_jira_ips/TinyMPC/src/tinympc/admm.cpp:4:
/home/yuzhang3/workspace/isvc_jira_ips/TinyMPC/include/Eigen/Eigen/Core:39:52: error: missing binary operator before token "("
39 | #if EIGEN_COMP_MINGW && EIGEN_GNUC_STRICT_LESS_THAN(6,0,0)
| ^
/home/yuzhang3/workspace/isvc_jira_ips/TinyMPC/include/Eigen/Eigen/Core:185:10: fatal error: src/Core/arch/Default/ConjHelper.h: No such file or directory
185 | #include "src/Core/arch/Default/ConjHelper.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [src/tinympc/CMakeFiles/tinympc.dir/build.make:76: src/tinympc/CMakeFiles/tinympc.dir/admm.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:118: src/tinympc/CMakeFiles/tinympc.dir/all] Error 2
make: *** [Makefile:91: all] Error 2