36 _type.ignoreResources =
false;
38 std::string nb_procs_str = yacsContainer->
getProperty(
"nb_parallel_procs");
39 float needed_cores = 0.0;
40 if(!nb_procs_str.empty())
41 needed_cores = std::stof(nb_procs_str);
42 _type.neededCores = needed_cores;
46 _type.ignoreResources =
true;
48 _type.neededCores = 0;
77 std::string hostname = yacsContainer->
getProperty(
"hostname");
80 accept = (hostname ==
r.name);
89 std::vector< std::pair<std::string,int> > data(
r->getCatalogOfComputeNodes());
91 for(
const std::pair<std::string,int>& res : data)
93 WorkloadManager::Resource newResource;
94 newResource.name = res.first;
97 newResource.nbCores = res.second;
98 wm.addResource(newResource);
100 wm.freezeResources();
virtual std::string getProperty(const std::string &name) const =0
virtual std::string getName() const
void failTask(Task *task, const std::string &message)
void makeDatastreamConnections(Task *task)
YACS::Event runTask(Task *task)
void endTask(Task *task, YACS::Event ev)
void loadTask(Task *task, const WorkloadManager::RunInfo &runInfo)
virtual bool canAcceptImposedResource()
virtual Container * getContainer()=0
bool isAccepted(const WorkloadManager::Resource &r) override
static void loadResources(WorkloadManager::WorkloadManager &wm)
void run(const WorkloadManager::RunInfo &runInfo) override
WlmTask(Executor &executor, YACS::ENGINE::Task *yacsTask)
const WorkloadManager::ContainerType & type() const override
WorkloadManager::ContainerType _type
YACS::ENGINE::Task * _yacsTask
YACSLIBENGINE_EXPORT Runtime * getRuntime()