+ Antworten
Ergebnis 1 bis 3 von 3

Thema: Passing char*

  1. #1
    David Herzig
    Dear JOCL users

    I wrote a Java program where I pass an char array to a char*:

    Java Code:
    Java Code:
    1. char [] t = text.toCharArray();
    2. Pointer srcText = Pointer.to(t);
    3. cl_mem memObjectText = clCreateBuffer(context,
    5. Sizeof.cl_char * t.length, srcText, null);

    OpenCL Code:
    __kernel void patternmatch(__global const char *t, long tn, int k, __global int *r)

    Now I realized that somehow the following happens:

    Text to pass: "ABCD"
    Text Arrived: "A B C D" (space between the charaters)

    Any ideas to remove that?

    Geändert von Tomate_Salat (03.01.2017 um 15:26 Uhr) Grund: java/code-tags

  2. #2
    David Herzig
    Just found the issue.

    Char in Java is 2 Bytes, char in opencl is 1 Byte. So instead of using the char array, using the byte array:

    Pointer srcText = Pointer.to(text.getBytes());

  3. #3
    Global Moderator Viertel Gigabyte
    Registriert seit
    323 Post(s)
    That's right: A C/OpenCL char consists of 1 byte, and has to be represented by a byte in Java (because in Java, char has two bytes - basically to support unicode)

+ Antworten Thema als "offen" markieren

Direkt antworten Direkt antworten

Nenne ein Edelgas!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Continuation Passing Style in Java 8
    Von Landei im Forum Allgemeine Themen
    Antworten: 5
    Letzter Beitrag: 06.03.2014, 14:52
  2. Can not pass char* in OpenCL
    Von duymap im Forum JOCL
    Antworten: 2
    Letzter Beitrag: 05.02.2014, 15:57
  3. Passing array of strings to GPU device using jcuda
    Von Unregistered im Forum JCuda
    Antworten: 5
    Letzter Beitrag: 13.09.2012, 07:19
  4. passing 2-D instance to the kernel
    Von Soyeed im Forum JOCL
    Antworten: 2
    Letzter Beitrag: 07.07.2010, 13:22
  5. Strings - char ersetzen
    Von swerflash im Forum Java-Grundlagen
    Antworten: 12
    Letzter Beitrag: 19.08.2006, 01:30


  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein