有自动并行的序言实现吗? [英] Is there an automatic parallel prolog implementation?

查看:65
本文介绍了有自动并行的序言实现吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在理论计算机科学方面进行一些研究,而我使用的主要工具之一是prolog.我发现编写非常快速的测试以驳斥猜想特别方便.

I'm currently doing some research in theoretical computer science, and one of the main tools I'm using is prolog. I've found it particularly handy for writing very quick tests to disprove conjectures.

但是,我已经到了蛮力搜索变得太慢的地步.虽然我可以使用另一种语言,但是使用序言的全部要点是编写代码以测试假设非常快速/简单.

However, I've gotten to a point where the brute-force search is getting too slow. While I could use a different language, the whole point of my using prolog is that it's extremely fast/simple to write code to test a hypothesis.

我想知道,是否有Prolog的实现允许自动并行化?不必太快,但理想情况下,我正在寻找可以将我的代码放入其中并至少获得较小加速的东西.

I'm wondering, is there an implementation of Prolog that allows for automatic paralellization? It wouldn't have to be razor fast, but ideally I'm looking for something that I could just drop my code into and get at least a small speedup.

我不知道这是否可行. Google搜索揭示了许多关于Prolog中自动并行性的学术文章,但是我没有遇到任何实现.但是,我实际上只熟悉SWI-prolog,因此我可以肯定地使用熟悉许多实现的人的建议.

I don't know if this is possible. Google search reveals lots of academic articles about automatic parallelism in Prolog, but I didn't come across any implementations. However, I'm really only familiar with SWI-prolog, so I could definitely use advice from someone familiar with many implementations.

我的代码使用削减,但是我相当确定我可以消除削减.至于IO,唯一的IO是正在打印到控制台,可以将其移到任何并行代码之外.

My code uses cuts, but I am fairly sure that I can eliminate them. As for IO, the only IO is printing to the console, which could probably be moved outside any parallel code.

推荐答案

使用Prolog,不难发现并行性,很难选择要使用的并行性;).

With Prolog it is not difficult to find parallelism, it is difficult to choose which one to use ;) .

也许 Parlog-专为并行执行而设计的基于逻辑的编程语言将为您提供帮助.有针对Windows的实现,但我不确定它是否使用多个内核.但是,您可以尝试与那里的作者联系.

Maybe Parlog - logic based programming language, designed for parallel execution would be of help to you. There is implementation for windows but I am not sure if it uses multiple cores. You could however try to contact the authors there.

这篇关于有自动并行的序言实现吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆