scheduling_policy.hh revision 11308
16145Snate@binkert.org/* 26145Snate@binkert.org * Copyright (c) 2014-2015 Advanced Micro Devices, Inc. 36145Snate@binkert.org * All rights reserved. 46145Snate@binkert.org * 56145Snate@binkert.org * For use for simulation and test purposes only 66145Snate@binkert.org * 76145Snate@binkert.org * Redistribution and use in source and binary forms, with or without 86145Snate@binkert.org * modification, are permitted provided that the following conditions are met: 96145Snate@binkert.org * 106145Snate@binkert.org * 1. Redistributions of source code must retain the above copyright notice, 116145Snate@binkert.org * this list of conditions and the following disclaimer. 126145Snate@binkert.org * 136145Snate@binkert.org * 2. Redistributions in binary form must reproduce the above copyright notice, 146145Snate@binkert.org * this list of conditions and the following disclaimer in the documentation 156145Snate@binkert.org * and/or other materials provided with the distribution. 166145Snate@binkert.org * 176145Snate@binkert.org * 3. Neither the name of the copyright holder nor the names of its contributors 186145Snate@binkert.org * may be used to endorse or promote products derived from this software 196145Snate@binkert.org * without specific prior written permission. 206145Snate@binkert.org * 216145Snate@binkert.org * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 226145Snate@binkert.org * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 236145Snate@binkert.org * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 246145Snate@binkert.org * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 256145Snate@binkert.org * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 266145Snate@binkert.org * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 276145Snate@binkert.org * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 286145Snate@binkert.org * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 296145Snate@binkert.org * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 306145Snate@binkert.org * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 316284Snate@binkert.org * POSSIBILITY OF SUCH DAMAGE. 326145Snate@binkert.org * 336284Snate@binkert.org * Author: Sooraj Puthoor 346145Snate@binkert.org */ 356145Snate@binkert.org 366145Snate@binkert.org#ifndef __SCHEDULING_POLICY_HH__ 376145Snate@binkert.org#define __SCHEDULING_POLICY_HH__ 386145Snate@binkert.org 396154Snate@binkert.org#include <vector> 406154Snate@binkert.org 416154Snate@binkert.orgtemplate<typename Impl> 426154Snate@binkert.orgclass SchedulingPolicy 436154Snate@binkert.org{ 446154Snate@binkert.org public: 456154Snate@binkert.org Wavefront* chooseWave() { return policyImpl.chooseWave(); } 466145Snate@binkert.org 476145Snate@binkert.org void 486896SBrad.Beckmann@amd.com bindList(std::vector<Wavefront*> *list) 496896SBrad.Beckmann@amd.com { 506896SBrad.Beckmann@amd.com return policyImpl.bindList(list); 516145Snate@binkert.org } 526896SBrad.Beckmann@amd.com 536896SBrad.Beckmann@amd.com private: 546896SBrad.Beckmann@amd.com Impl policyImpl; 556896SBrad.Beckmann@amd.com}; 566896SBrad.Beckmann@amd.com 576896SBrad.Beckmann@amd.com#endif // __SCHEDULING_POLICY_HH__ 586145Snate@binkert.org