Hi Mani,
VecViennaCLGetArray* is now provided through include/petscviennacl.h
similar to how it is done for CUSP. Please use either branch 'next' or
'karlrupp/viennacl-getarray' for this to work. Note that it uses the
ViennaCL 1.4.2 release, I'll push updates to 1.5.0 later this week.
Please let me know if there are any problems.
Best regards,
Karli
On 01/20/2014 10:14 AM, Mani Chandra wrote:
Yes, I did. The code compiles if I include
petsc/src/vec/vec/impls/seq/seqviennacl/viennaclvecimpl.h
but I'm not sure if one is supposed to do that.
Thanks,
Mani
On Mon, Jan 20, 2014 at 3:07 AM, Karl Rupp <[email protected]
<mailto:[email protected]>> wrote:
Hi Mani,
> I can't seem to get petsc to play nice when I have something like
Vec X;
viennacl::vector<PetscScalar> *x;
VecViennaCLGetArrayWrite(X, &x);
//Launch some opencl kernels
VecViennaCLRestoreArrayWrite(__X, &x);
I get the following compilation error:
error: ‘VecSeqViennaCLGetArrayWrite’ was not declared in this scope
error: ‘__VecSeqViennaCLRestoreArrayWrit__e’ was not declared in
this scope
I tried adding a header like "#include <petscviennacl.h>" (like
petsccusp.h) but it didn't work. Is there a fix to this or are those
functions not supposed to be called from user code?
Did you enable ViennaCL in the configure stage through e.g.
--download-viennacl?
I also plan to push an update of the bindings to the latest ViennaCL
release this week.
Best regards,
Karli