我有一个任务,它由3个并发的自定义(相互递归)进程组成。我需要以某种方式让它在计算机上执行,但是任何将需求转换为仅用我的大脑编写代码的尝试都会失败,因为第一次迭代会产生具有27^2交叉关系的3^3实体,但它至少需要实现几次迭代才能尝试程序是否有效。
因此,我决定放弃尝试理解整个系统和正规化的问题,现在想要映射到硬件来生成一个算法并运行。语言并不重要(甚至直接对机器/组装语言?)
我以前从未做过这样的事情,所以我搜索过的所有主题,如算法综合、软硬件协同设计等,都提到硬件模型是解决方案生成的下半部分(除了问题模型),但我从未见过。整个工作应该是这样的:

我还不知道硬件模型描述的是什么级别,所以不能决定如何将问题模型形式化以适应硬件模型层。
例如,目标系统可能包含CPU和GPGPU,假设目标解决方案具有两个并发进程。系统必须决定哪个进程在CPU上运行,哪个进程在GPGPU上运行。最高级别的解决方案可能来自将进程的计算强度与目标硬件( ~300用于CPU和GPGPU ~50 )进行比较。
但是一个正常的模型必须是更完整的,至少有缓存层次结构,内存访问批处理大小等等。
另一个例子是实现K-树。综合算法可以通过计算k * i + c / ( i - 1 ) / k、或存储直接指针(取决于computations per memory latency比率)来解决父级和子级的问题。
在哪里可以使用硬件模型或数据?任何硬件现在都已经足够了--只要看看它会是什么样子--以后就可以得到现代处理器、get和普通异构集群的模型了。
制造商是否供应这类型号?描述他们的系统如何在任何正式语言中工作。
发布于 2017-09-09 14:37:50
我不太确定您是否会遇到这种情况,但是当您提到建模时,我只是想到了模特卡。它用于对物理系统建模,并与仿真环境相结合,您可以在上面运行一些模拟。
https://stackoverflow.com/questions/46027129
复制相似问题