pool_schedule::pool_schedule |
( |
Map & |
map | ) |
|
pool_schedule - constructor, takes a map object, calling this will launch threads. scheduler itself is also run as a thread.
- Parameters
-
poolschedule.cpp -
- Author
- : Jonathan Beard
- Version
- : Thu Sep 11 15:49:57 2014
Copyright 2014 Jonathan Beard
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
pool_schedule::~pool_schedule |
( |
| ) |
|
|
virtual |
destructor, deletes threads and cleans up container objects.
scheduleKernel - override base class function in order to add kernels to the right place.
- Parameters
-
- Returns
- bool - always true
Reimplemented from Schedule.
void pool_schedule::start |
( |
| ) |
|
|
virtual |
start - call to start executing map, at this point the mapper sould have checked the topology and everything should be set up for running.
must be signed type
add re-partitioning code here
partition using streaming mean and std of queue occupancy
done
Implements Schedule.
container - holds all the kernels
stores all kernels that we're currently executing, might be removed from KernelContainer objects, but they'll still be here. TODO, double check to make sure we're deleting and removing these once everything is done.
decltype( std::thread::hardware_concurrency() ) const pool_schedule::n_threads |
|
protected |
total # of hardware supported threads
std::vector< std::thread* > pool_schedule::pool |
|
protected |
std::vector< std::uint8_t > pool_schedule::status_flags |
|
protected |
used std::uint8_t b/c I don't want a bitset from std::vector, status_flags used to tell the sub-schedulers when to quit.
The documentation for this class was generated from the following files: