Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SomeFeatures #19

Open
arita37 opened this issue Dec 28, 2016 · 7 comments
Open

SomeFeatures #19

arita37 opened this issue Dec 28, 2016 · 7 comments
Labels

Comments

@arita37
Copy link

arita37 commented Dec 28, 2016

Hello,

This is an interesting project. Some questions:

  1. How PyOpenCL compatible with NVidia Card ?

  2. Is the objective function "converted/implemented" on the GPU side (evaluation is done on GPU) ?

Thanks, regards

@kilikkuo
Copy link
Contributor

As OpenCL is an open standard specification, each GPU vendor has its own corresponding OpenCL implementations. Vendor would also provide a share library (ICD loader) as the APIs entry dispatcher on target platform, for example, libOpenCL.so or libintelocl.so ... etc.
So basically, if I understand correctly, in the native code of PyOpenCL, it communicate with the entry library, and you don't have to worry the rest of things : )

Basically,
PyOpenCL (.py) <==> PyOpenCL (.so) <==> ICD loader ==> (Intel/NV/AMD) hardware.

@kilikkuo
Copy link
Contributor

I assumed what you're saying "fitness function", in fact, yes !
We've implemented sample codes for reproduction / mutation / evaluation functions in C (based in C99, but not exactly compatible [1]), these codes will be built and executed on GPU.

[1] https://en.wikipedia.org/wiki/OpenCL

@john-hu
Copy link
Member

john-hu commented Dec 29, 2016

Hi @arita37

The followings are my replies:

  1. How PyOpenCL compatible with NVidia Card ?

Yes, it is compatible with NVidia Card. We are using NVidia GPU Card for testing. If you are using NVidia Card, you may download the driver and get more information: here

  1. Is the objective function "converted/implemented" on the GPU side (evaluation is done on GPU) ?

Yes, the object must be implemented in C.

Don't worry. We will implement a compiler to convert objective function from python to C in the future, see #7 .

BTW, you may find our simple tsp example to know it is not hard to implement it in C.

@arita37
Copy link
Author

arita37 commented Dec 29, 2016 via email

@john-hu
Copy link
Member

john-hu commented Dec 30, 2016

@arita37

Thanks for the suggestion. I will check PyGMO to learn more on python wrapper since I am not a very good python programmer.....

@arita37
Copy link
Author

arita37 commented Dec 30, 2016 via email

@john-hu
Copy link
Member

john-hu commented Jan 25, 2017

Great... It would be nice to have a python wrapper for the implementation of objective function.... If possible, please help us to have such kind of feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants