Skip to content

Error JNAerating CLDGEMMKernels.cl: NullPointerException #34

Open
@fossil

Description

@fossil

get NullPointerException, when tried to build the following code

define WIDTH 4

if WIDTH == 1

typedef float floatX;

elif WIDTH == 2

typedef float2 floatX;

elif WIDTH == 4

typedef float4 floatX;

endif

// Use wider data types
__kernel void gemm4(const int M, const int N, const int K,
const __global double* A,
const __global double* B,
__global double* C) {

// Thread identifiers
const int row = get_local_id(0); // Local row ID (max: TS/WIDTH)
const int col = get_local_id(1); // Local col ID (max: TS)
const int globalRow = (TS/WIDTH)*get_group_id(0) + row; // 0..M/WIDTH
const int globalCol = TS*get_group_id(1) + col; // 0..N

// Local memory to fit a tile of TS*TS elements of A and B
__local floatX Asub[TS][TS/WIDTH];
__local floatX Bsub[TS][TS/WIDTH];

// Initialize the accumulation registers
#if WIDTH == 1
    floatX acc = 0.0f;
#elif WIDTH == 2
    floatX acc = { 0.0f, 0.0f };
#elif WIDTH == 4
    floatX acc = { 0.0f, 0.0f, 0.0f, 0.0f };
#endif

// Loop over all tiles
const int numTiles = K/TS;

...
}

after replace with
int ts = TS;
const int numTiles = K/ts;

builds fine.

[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.nativelibs4java:maven-javacl-plugin:1.0.0-RC4:compile (default) on project clqr: Error JNAerating CLDGEMMKernels.cl: NullPointerException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.nativelibs4java:maven-javacl-plugin:1.0.0-RC4:compile (default) on project clqr: Error JNAerating CLDGEMMKernels.cl
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Error JNAerating CLDGEMMKernels.cl
at com.nativelibs4java.opencl.generator.JavaCLGeneratorMojo.generateAll(JavaCLGeneratorMojo.java:191)
at com.nativelibs4java.opencl.generator.JavaCLGeneratorMojo.execute(JavaCLGeneratorMojo.java:210)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 19 more
Caused by: java.lang.NullPointerException
at com.ochafik.lang.jnaerator.TypeConversion.convertExpressionToJava(TypeConversion.java:1223)
at com.ochafik.lang.jnaerator.BridJTypeConversion.convertExpressionToJava(BridJTypeConversion.java:488)
at com.ochafik.lang.jnaerator.DeclarationsConverter.convertConstant(DeclarationsConverter.java:206)
at com.ochafik.lang.jnaerator.DeclarationsConverter$1.visitVariablesDeclaration(DeclarationsConverter.java:176)
at com.ochafik.lang.jnaerator.parser.VariablesDeclaration.accept(VariablesDeclaration.java:41)
at com.ochafik.lang.jnaerator.parser.Scanner.visit(Scanner.java:479)
at com.ochafik.lang.jnaerator.parser.Scanner.visitBlock(Scanner.java:378)
at com.ochafik.lang.jnaerator.parser.Statement$Block.accept(Statement.java:379)
at com.ochafik.lang.jnaerator.parser.Scanner.visit(Scanner.java:468)
at com.ochafik.lang.jnaerator.parser.Scanner.visitFunction(Scanner.java:106)
at com.ochafik.lang.jnaerator.parser.Function.accept(Function.java:215)
at com.ochafik.lang.jnaerator.parser.Scanner.visit(Scanner.java:479)
at com.ochafik.lang.jnaerator.parser.Scanner.visitSourceFile(Scanner.java:235)
at com.ochafik.lang.jnaerator.parser.SourceFile.accept(SourceFile.java:101)
at com.ochafik.lang.jnaerator.SourceFiles.accept(SourceFiles.java:49)
at com.ochafik.lang.jnaerator.DeclarationsConverter.convertConstants(DeclarationsConverter.java:128)
at com.nativelibs4java.opencl.generator.JavaCLGenerator.generateLibraryFiles(JavaCLGenerator.java:470)
at com.ochafik.lang.jnaerator.JNAerator.jnaerationCore(JNAerator.java:1465)
at com.ochafik.lang.jnaerator.JNAerator.jnaerate(JNAerator.java:1018)
at com.nativelibs4java.opencl.generator.JavaCLGeneratorMojo.generateAll(JavaCLGeneratorMojo.java:160)
... 22 more

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions