简体   繁体   English

Java的当前OpenCL实施是否提供跨平台支持以及要在项目中使用的稳定性?

[英]Does current OpenCL implimentions of Java offer cross-platform support as well as stability to be used in projects?

Background: Our school entered in a competition where my team (based on 3 people including me) is assigned the task to do navigation and image processing. 背景:我们学校参加了一项竞赛,我的团队(包括我在内的3个人)被分配了进行导航和图像处理的任务。 It's an year long project but I want to get started as soon as possible and see what are the options I have. 这是一个为期一年的项目,但是我想尽快开始,看看我有什么选择。 University and other firms are funding in this research as well. 大学和其他公司也在这项研究中提供资金。 I am no computer science major, we are building an engineering application that highly depends on navigation and image processing for basis of intense calculation purposes on top. 我不是计算机科学专业的学生,​​我们正在构建一个工程应用程序,该应用程序高度依赖于导航和图像处理,以作为计算基础。

Question: I understand we will be needing algorithms and smart data structure choices to cut down the processes and split the work in threads to harness the power of the device. 问题:我知道我们将需要算法和智能数据结构选择来减少进程并将工作拆分为线程以利用设备的功能。 Anyhow, I have been reading a lot regarding OpenCL implementations for Java that I found namely, LWJGL, JOCL, JavaCL. 无论如何,我已经阅读了很多有关Java的OpenCL实现的书,我发现它们是LWJGL,JOCL,JavaCL。 The problem is, they all do the same thing but some does it better in their own unique ways. 问题是,他们都做同一件事,但有些人以自己独特的方式做得更好。 I am looking for something simple with fair amount of community and cross-platform support. 我正在寻找简单的东西,并且需要大量的社区和跨平台支持。 Because, the microcontrollers we will buy most probably run Linux (I am thinking Arduino and SMARTGPU). 因为,我们将购买的微控制器很可能运行Linux(我在考虑Arduino和SMARTGPU)。

Anyways, this is very early so I need some pointers as to where to go from here. 无论如何,这还为时过早,因此我需要一些有关从这里出发的指示。 I will probably need to look up some guides, tutorials, and manuals as well to understand more on OpenCL. 我可能还需要查找一些指南,教程和手册,以了解有关OpenCL的更多信息。

I have been using JavaCL for nearly a year now and have found it to be easy to use and reliable. 我使用JavaCL已经快一年了,发现它易于使用且可靠。 The one bug that I did find was fixed within 24 hours (admittedly a very simple bug). 我发现的一个错误已在24小时内修复(这是一个非常简单的错误)。 I did try using JOCL but found their API to be a little difficult to use compared to JavaCL. 我确实尝试过使用JOCL,但发现与JavaCL相比,它们的API有点难以使用。 I have no experience with LWJGL, but would point out that LWJGL is more general as it is intended for games. 我没有LWJGL的经验,但要指出LWJGL更通用,因为它适用于游戏。

If you decide to use Java, then I would suggest starting with JavaCL. 如果您决定使用Java,则建议从JavaCL开始。

However, I would suggest that you consider OpenCV as it provides a lot of image processing functions that have already been heavily optimised. 但是,我建议您考虑使用OpenCV,因为它提供了许多已经过大量优化的图像处理功能。 It may not be as fast as using OpenCL and a fancy embedded GPU but it could cut your development time. 它可能不如使用OpenCL和精美的嵌入式GPU那样快,但可以缩短您的开发时间。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM