Skip to content
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

1943 scheduler check optimizations #1962

Merged
merged 4 commits into from
Sep 16, 2022

Conversation

stmcgovern
Copy link
Contributor

Closes #1943. Add vt_check_enabled statements to reduce unneeded code in the scheduler.

@stmcgovern stmcgovern linked an issue Sep 14, 2022 that may be closed by this pull request
@github-actions
Copy link

github-actions bot commented Sep 14, 2022

Pipelines results

PR tests (gcc-5, ubuntu, mpich)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


PR tests (clang-3.9, ubuntu, mpich)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


PR tests (gcc-10, ubuntu, openmpi, no LB)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


PR tests (clang-5.0, ubuntu, mpich)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


PR tests (gcc-6, ubuntu, mpich)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


PR tests (gcc-7, ubuntu, mpich, trace runtime, LB)

Build for 85c49e8

FAILED: src/CMakeFiles/vt.dir/Unity/unity_20_cxx.cxx.o 
/usr/bin/ccache /usr/bin/g++ -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DVT_NO_COLOR_ENABLED -I/vt/lib/CLI -Irelease -I/vt/src -I/vt/lib/json/include -I/vt/lib/brotli/c/include -I/vt/lib/libfort/lib -isystem /vt/lib/fmt/include -isystem /vt/lib/EngFormat-Cpp/include -isystem /build/checkpoint/install/include -isystem /build/detector/install/include -O3 -DNDEBUG -Wall -pedantic -Wshadow -Wno-unknown-pragmas -Wsign-compare -ftemplate-backtrace-limit=100 -Werror -Og --coverage -fPIC -std=c++14 -MD -MT src/CMakeFiles/vt.dir/Unity/unity_20_cxx.cxx.o -MF src/CMakeFiles/vt.dir/Unity/unity_20_cxx.cxx.o.d -o src/CMakeFiles/vt.dir/Unity/unity_20_cxx.cxx.o -c src/CMakeFiles/vt.dir/Unity/unity_20_cxx.cxx
In file included from src/CMakeFiles/vt.dir/Unity/unity_20_cxx.cxx:4:0:
/vt/src/vt/scheduler/base_unit.cc: In member function 'void vt::sched::BaseUnit::execute()':
/vt/src/vt/scheduler/base_unit.cc:59:12: error: type 'using RunnablePtrType = class std::unique_ptr<vt::runnable::RunnableNew> {aka class std::unique_ptr<vt::runnable::RunnableNew>}' argument given to 'delete', expected pointer
     delete r_;
            ^~


Build log


PR tests (gcc-8, ubuntu, mpich, address sanitizer)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


PR tests (gcc-9, ubuntu, mpich, zoltan)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


PR tests (clang-10, ubuntu, mpich)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


PR tests (nvidia cuda 10.1, ubuntu, mpich)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


PR tests (nvidia cuda 11.0, ubuntu, mpich)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


PR tests (clang-13, alpine, mpich)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


PR tests (clang-9, ubuntu, mpich)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


PR tests (clang-11, ubuntu, mpich)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


PR tests (intel icpx, ubuntu, mpich)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


PR tests (clang-13, ubuntu, mpich)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


PR tests (gcc-11, ubuntu, mpich)

Build for 15c7cd4

Compilation - successful

Testing - passed

Build log


PR tests (clang-12, ubuntu, mpich)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


PR tests (gcc-12, ubuntu, mpich)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


PR tests (clang-14, ubuntu, mpich)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


PR tests (intel icpc, ubuntu, mpich)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


PR tests (gcc-11, ubuntu, mpich, json schema test)

Build for 282e7c8

Compilation - successful

Testing - passed

Build log


@stmcgovern
Copy link
Contributor Author

Deleting the pointer relies on the upcoming changes to runnable. Simply remove for now and revisit after #1899.

@codecov
Copy link

codecov bot commented Sep 14, 2022

Codecov Report

Merging #1962 (15c7cd4) into develop (1377681) will decrease coverage by 0.01%.
The diff coverage is 0.00%.

❗ Current head 15c7cd4 differs from pull request most recent head 282e7c8. Consider uploading reports for the commit 282e7c8 to get more accurate results

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #1962      +/-   ##
===========================================
- Coverage    84.04%   84.02%   -0.02%     
===========================================
  Files          728      726       -2     
  Lines        25608    25534      -74     
===========================================
- Hits         21522    21455      -67     
+ Misses        4086     4079       -7     
Impacted Files Coverage Δ
src/vt/scheduler/base_unit.cc 100.00% <ø> (+12.50%) ⬆️
src/vt/scheduler/scheduler.cc 76.47% <ø> (-0.16%) ⬇️
src/vt/scheduler/scheduler.h 100.00% <ø> (ø)
src/vt/scheduler/suspended_units.cc 0.00% <0.00%> (ø)
src/vt/vrt/collection/manager.impl.h 95.49% <0.00%> (-0.99%) ⬇️
src/vt/scheduler/queue.h 100.00% <0.00%> (ø)
src/vt/scheduler/base_unit.h 100.00% <0.00%> (ø)
... and 6 more

@PhilMiller
Copy link
Member

Is that class's destructor supposed to be virtual?

Separately, is that a memory leak in the current code base?

@PhilMiller
Copy link
Member

Why does only nvcc think it's not a complete type?

@stmcgovern
Copy link
Contributor Author

The current code base uses a unique pointer- In work for #1899, changes were made to RunnablePtrType. We should consider them there when the PR is ready.
The checks here are independent of that.
I don't know about nvcc.

@stmcgovern stmcgovern force-pushed the 1943-scheduler-check-optimizations branch from 2f4ac5a to 15c7cd4 Compare September 14, 2022 22:09
@stmcgovern stmcgovern force-pushed the 1943-scheduler-check-optimizations branch from 15c7cd4 to 282e7c8 Compare September 16, 2022 16:28
@PhilMiller PhilMiller merged commit 31988ae into develop Sep 16, 2022
cz4rs pushed a commit that referenced this pull request Sep 28, 2022
…mizations

1943 scheduler check optimizations
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Scheduler check optimizations
3 participants