OpenCPI and OpenCL

MA
Marasco, Aaron
Tue, Aug 14, 2018 9:14 PM

I was recently contacted and figured I would forward this response for the public archives, as well as to have anybody else contribute to the conversation...

Hello XXX,

I don't mind answering your question personally, but in the future, we have a discussion list at lists.opencpi.org that you can subscribe to (and I will likely anonymize your question and post it there). The OSS version of OpenCPI supports OpenCL as an Authoring Model to target GPUs, and possibly CPUs (I'm not sure off-hand, sorry). FPGA Workers at this time are only written in VHDL. The AV team, whose work I push to GitHub, is currently about a dozen engineers, and we are not currently tasked with supporting OpenCL. This could lead to a possible lack of support of your efforts. However, being inactive does not necessarily denote obsolete; it all should work. But, for example, we are not testing it in our Jenkins builds or anything like that.

Hope this helps,

Aaron


From: XXX
Sent: Monday, August 13, 2018 15:54
To: Marasco, Aaron
Subject: OpenCPI

Aaron,

I hope you don’t mind me reaching out to you, but I have a question about OpenCPI. I see that you have most recently been the leading contributor to the project on Github. We are trying to evaluate OpenCPI as a candidate for a project we are starting. We would like to have the ability to write Workers in OpenCL and deploy them on multiple hardware platforms (CPU, GPU, FPGA). Do you know if OpenCPI provides that kind of support? If not, is it on the roadmap for product? I see that OpenCL has recently been configured out of the default configuration, which makes me wonder about this capability.

Thanks,

XXX

I was recently contacted and figured I would forward this response for the public archives, as well as to have anybody else contribute to the conversation... Hello XXX, I don't mind answering your question personally, but in the future, we have a discussion list at lists.opencpi.org that you can subscribe to (and I will likely anonymize your question and post it there). The OSS version of OpenCPI supports OpenCL as an Authoring Model to target GPUs, and possibly CPUs (I'm not sure off-hand, sorry). FPGA Workers at this time are only written in VHDL. The AV team, whose work I push to GitHub, is currently about a dozen engineers, and we are not currently tasked with supporting OpenCL. This could lead to a possible lack of support of your efforts. However, being inactive does not necessarily denote obsolete; it all should work. But, for example, we are not testing it in our Jenkins builds or anything like that. Hope this helps, Aaron ________________________________ From: XXX Sent: Monday, August 13, 2018 15:54 To: Marasco, Aaron Subject: OpenCPI Aaron, I hope you don’t mind me reaching out to you, but I have a question about OpenCPI. I see that you have most recently been the leading contributor to the project on Github. We are trying to evaluate OpenCPI as a candidate for a project we are starting. We would like to have the ability to write Workers in OpenCL and deploy them on multiple hardware platforms (CPU, GPU, FPGA). Do you know if OpenCPI provides that kind of support? If not, is it on the roadmap for product? I see that OpenCL has recently been configured out of the default configuration, which makes me wonder about this capability. Thanks, XXX
JK
James Kulp
Wed, Aug 15, 2018 7:45 PM

Here are a few more comments about the OpenCL support in OpenCPI.

First, since OpenCPI has a more broad view of heterogeneous computing
than OpenCL to begin with, we did not do the OpenCL integration work for
heterogeneous computing.
We did it so that OpenCPI systems can exploit GPUs when mixed with other
technologies, while using the OpenCPI development model.
The support is experimental but has been tested using several various of
OpenCL-supported GPUs (intel, nvidia, amd).
It is based on OpenCL 1.2, which is a bit old these days.

Theoretically, it could be used to target OpenCL-enabled non-GPU
environments, to attempt to use the OpenCL "single source code"
paradigm, if it actually worked well enough.

It does not yet support DMA between FPGAs and GPUs, but was indeed
designed for that.

On 8/14/18 5:14 PM, Marasco, Aaron wrote:

I was recently contacted and figured I would forward this response for the public archives, as well as to have anybody else contribute to the conversation...

Hello XXX,

I don't mind answering your question personally, but in the future, we have a discussion list at lists.opencpi.org that you can subscribe to (and I will likely anonymize your question and post it there). The OSS version of OpenCPI supports OpenCL as an Authoring Model to target GPUs, and possibly CPUs (I'm not sure off-hand, sorry). FPGA Workers at this time are only written in VHDL. The AV team, whose work I push to GitHub, is currently about a dozen engineers, and we are not currently tasked with supporting OpenCL. This could lead to a possible lack of support of your efforts. However, being inactive does not necessarily denote obsolete; it all should work. But, for example, we are not testing it in our Jenkins builds or anything like that.

Hope this helps,

Aaron


From: XXX
Sent: Monday, August 13, 2018 15:54
To: Marasco, Aaron
Subject: OpenCPI

Aaron,

I hope you don’t mind me reaching out to you, but I have a question about OpenCPI. I see that you have most recently been the leading contributor to the project on Github. We are trying to evaluate OpenCPI as a candidate for a project we are starting. We would like to have the ability to write Workers in OpenCL and deploy them on multiple hardware platforms (CPU, GPU, FPGA). Do you know if OpenCPI provides that kind of support? If not, is it on the roadmap for product? I see that OpenCL has recently been configured out of the default configuration, which makes me wonder about this capability.

Thanks,

XXX

Here are a few more comments about the OpenCL support in OpenCPI. First, since OpenCPI has a more broad view of heterogeneous computing than OpenCL to begin with, we did not do the OpenCL integration work for heterogeneous computing. We did it so that OpenCPI systems can exploit GPUs when mixed with other technologies, while using the OpenCPI development model. The support is experimental but has been tested using several various of OpenCL-supported GPUs (intel, nvidia, amd). It is based on OpenCL 1.2, which is a bit old these days. Theoretically, it could be used to target OpenCL-enabled non-GPU environments, to attempt to use the OpenCL "single source code" paradigm, if it actually worked well enough. It does not yet support DMA between FPGAs and GPUs, but was indeed designed for that. On 8/14/18 5:14 PM, Marasco, Aaron wrote: > I was recently contacted and figured I would forward this response for the public archives, as well as to have anybody else contribute to the conversation... > > > Hello XXX, > > > I don't mind answering your question personally, but in the future, we have a discussion list at lists.opencpi.org that you can subscribe to (and I will likely anonymize your question and post it there). The OSS version of OpenCPI supports OpenCL as an Authoring Model to target GPUs, and possibly CPUs (I'm not sure off-hand, sorry). FPGA Workers at this time are only written in VHDL. The AV team, whose work I push to GitHub, is currently about a dozen engineers, and we are not currently tasked with supporting OpenCL. This could lead to a possible lack of support of your efforts. However, being inactive does not necessarily denote obsolete; it all should work. But, for example, we are not testing it in our Jenkins builds or anything like that. > > > Hope this helps, > > > Aaron > > ________________________________ > From: XXX > Sent: Monday, August 13, 2018 15:54 > To: Marasco, Aaron > Subject: OpenCPI > > > Aaron, > > I hope you don’t mind me reaching out to you, but I have a question about OpenCPI. I see that you have most recently been the leading contributor to the project on Github. We are trying to evaluate OpenCPI as a candidate for a project we are starting. We would like to have the ability to write Workers in OpenCL and deploy them on multiple hardware platforms (CPU, GPU, FPGA). Do you know if OpenCPI provides that kind of support? If not, is it on the roadmap for product? I see that OpenCL has recently been configured out of the default configuration, which makes me wonder about this capability. > > Thanks, > > XXX > >