
There are increasing opportunities to calculate with distributed/parallel computing: many-core CPU, GPU, and FPGA. It is, however, generally difficult to come up with an algorithm suitable for distributed/parallel computing. There have been many researches on the automatic partitioning of programs and designs, but they have not performed reconstruction of the data flow in the algorithm level. In this paper, we apply partial synthesis method and synthesize algorithms for distributed/parallel environment automatically. We propose the template-based computing that aims to prevent the communications among the cores and chips to become overhead. With that template, an algorithm is synthesized by using conventional partial synthesis method, which performs synthesis iteratively modifying the template. The synthesis-problem generally becomes infeasible as its size becomes larger. Therefore, we propose the method to reduce the search space by adding constraints. The synthesis is performed for small instances of the target problem at first, and then the additional constraints are considered based on the synthesized algorithm. In the experiment, we synthesized algorithms for matrix vector multiplication with one-way-ring-connected nodes to matrix of $32\times 32$ .
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 4 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
