Skip to content

Error JNAerating CLDGEMMKernels.cl: NullPointerException #34

@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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions