首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >二维矩形分块的算法

二维矩形分块的算法
EN

Stack Overflow用户
提问于 2011-11-30 21:18:33
回答 2查看 160关注 0票数 2

我们正在做一个异构计算的调度器。

可以通过任务的截止期和数据速率来识别任务,并可以将其视为二维图。请参见图像:

矩形标识要在GPU上调度的任务,以及要在CPU上调度的外部任务。

问题是我们想要有效地识别创建最佳矩形的参数。即包含最多任务的矩形。可以假定存在确定是否可以将点添加到当前矩形的函数。

最多可以有20.000个(点)任务,轴可以是任意长度

是否有任何已知的算法/数据结构可以解决此问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-30 22:34:29

使用给定的信息,您可以执行以下操作:

首先添加离所有点的重心最近的点。

如果已经添加了n个点,请选择作为n+1st点,这是最接近当前矩形的点。询问你给定的函数,这个点是否可以添加。

如果是这样的话,膨胀这个矩形,使它包含这个点。假设所有的点都有唯一的x和y坐标,总是可以只向矩形中添加一个点。

如果不是,则终止。

如果这不是您想要的,请提供更多信息。

票数 0
EN

Stack Overflow用户

发布于 2011-11-30 22:49:58

如果您指的是分层集群,则可以使用空间索引或空间填充曲线将2d图细分为象限。象限可以表示线程或核心。然后,您需要使用此函数对点进行排序,并检查具有最多点的象限。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8326580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档