Skip to content

Instantly share code, notes, and snippets.

@hgomez
Created August 15, 2012 05:58
Show Gist options
  • Select an option

  • Save hgomez/3356696 to your computer and use it in GitHub Desktop.

Select an option

Save hgomez/3356696 to your computer and use it in GitHub Desktop.
Initial tests of Rootbeer on OSX
mbp-rico:rootbeer1 henri$ java -Xmx4g -jar Rootbeer.jar -runtests
Initializing RootbeerScene...
Finding RunOnGpu Classes...
Loading Scene...
Loading all methods in visited classes...
Finding kernel reachable methods...
Remapping some classes to GPU versions...
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double cos(double)>
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double hypot(double,double)>
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double expm1(double)>
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double log1p(double)>
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double exp(double)>
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double log(double)>
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double log10(double)>
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double sqrt(double)>
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double cbrt(double)>
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double IEEEremainder(double,double)>
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double sin(double)>
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double tan(double)>
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double asin(double)>
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double acos(double)>
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double atan(double)>
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double atan2(double,double)>
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double sinh(double)>
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double cosh(double)>
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double tanh(double)>
Failed to load body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double pow(double,double)>
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.SuperClassRunOnGpu
No body for method: <java.lang.Throwable: java.lang.Throwable fillInStackTrace()>
No body for method: <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>
Failed to load body for method: <java.lang.Throwable: java.lang.Throwable fillInStackTrace()>
Failed to load body for method: <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>
Failed to load body for method: <java.lang.Throwable: int getStackTraceDepth()>
Failed to load body for method: <java.lang.Throwable: java.lang.StackTraceElement getStackTraceElement(int)>
Failed to load body for method: <java.lang.Object: java.lang.Object clone()>
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.baseconversion.BaseConversionRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.exception.NullPointer1RunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.exception.NullPointer2RunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.exception.NullPointer3RunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.exception.NullPointer4RunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.gpurequired.AtomicLongRunOnGpu
No body for method: <java.lang.System: long nanoTime()>
Failed to load body for method: <java.lang.System: long nanoTime()>
Error creating method body: <java.lang.System: long nanoTime()>
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.gpurequired.BruteForceFFTRunOnGpu
No body for method: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double pow(double,double)>
Error creating method body: <edu.syr.pcpratts.rootbeer.runtime.remap.java.lang.StrictMath: double pow(double,double)>
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.gpurequired.LargeMemTestRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.gpurequired.MultiArrayRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.gpurequired.NewOnGpuRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.gpurequired.SimpleSynchronizedRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.gpurequired.StaticsTest1RunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.gpurequired.StaticsTest2RunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.gpurequired.StaticsTest3RunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.gpurequired.StepFilterRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.gpurequired.SynchronizedMethod2RunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.gpurequired.SynchronizedMethod3RunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.gpurequired.SynchronizedMethodRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.gpurequired.SynchronizedObjectRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.gpurequired.SynchronizedStaticMethodRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.gpurequired.WhileTrueRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.ofcoarse.GpuWorkItem
No body for method: <java.lang.Double: long doubleToRawLongBits(double)>
No body for method: <java.lang.Double: double longBitsToDouble(long)>
Failed to load body for method: <java.lang.Double: long doubleToRawLongBits(double)>
Failed to load body for method: <java.lang.Double: double longBitsToDouble(long)>
Error creating method body: <java.lang.Double: long doubleToRawLongBits(double)>
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.ByteArraysRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.CharArraysRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.DoubleArraysRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.FloatArraysRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.GpuListRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.IntArraysRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.LongArraysRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.MMultRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.NativeStrictMathRunOnGpu
No body for method: <java.lang.StrictMath: double exp(double)>
No body for method: <java.lang.StrictMath: double log(double)>
No body for method: <java.lang.StrictMath: double log10(double)>
No body for method: <java.lang.StrictMath: double sqrt(double)>
No body for method: <java.lang.StrictMath: double cbrt(double)>
No body for method: <java.lang.StrictMath: double IEEEremainder(double,double)>
No body for method: <java.lang.Double: long doubleToRawLongBits(double)>
No body for method: <java.lang.Throwable: java.lang.Throwable fillInStackTrace()>
No body for method: <java.lang.Double: double longBitsToDouble(long)>
No body for method: <java.lang.StrictMath: double sin(double)>
No body for method: <java.lang.StrictMath: double tan(double)>
No body for method: <java.lang.StrictMath: double asin(double)>
No body for method: <java.lang.StrictMath: double acos(double)>
No body for method: <java.lang.StrictMath: double atan(double)>
No body for method: <java.lang.StrictMath: double atan2(double,double)>
No body for method: <java.lang.StrictMath: double pow(double,double)>
No body for method: <java.lang.StrictMath: double sinh(double)>
No body for method: <java.lang.StrictMath: double cosh(double)>
No body for method: <java.lang.StrictMath: double tanh(double)>
Failed to load body for method: <java.lang.StrictMath: double exp(double)>
Failed to load body for method: <java.lang.StrictMath: double log(double)>
Failed to load body for method: <java.lang.StrictMath: double log10(double)>
Failed to load body for method: <java.lang.StrictMath: double sqrt(double)>
Failed to load body for method: <java.lang.StrictMath: double cbrt(double)>
Failed to load body for method: <java.lang.StrictMath: double IEEEremainder(double,double)>
Failed to load body for method: <java.lang.StrictMath: double sin(double)>
Failed to load body for method: <java.lang.StrictMath: double tan(double)>
Failed to load body for method: <java.lang.StrictMath: double asin(double)>
Failed to load body for method: <java.lang.StrictMath: double acos(double)>
Failed to load body for method: <java.lang.StrictMath: double atan(double)>
Failed to load body for method: <java.lang.StrictMath: double atan2(double,double)>
Failed to load body for method: <java.lang.StrictMath: double pow(double,double)>
Failed to load body for method: <java.lang.StrictMath: double sinh(double)>
Failed to load body for method: <java.lang.StrictMath: double cosh(double)>
Failed to load body for method: <java.lang.StrictMath: double tanh(double)>
Error creating method body: <java.lang.Double: long doubleToRawLongBits(double)>
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.OuterClass3RunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.OuterClassRunOnGpu$OuterClassRunOnGpu2
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.OuterClassRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.RefTypeArraysRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.SameClassUsedTwiceRunOnGpu1
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.SameClassUsedTwiceRunOnGpu2
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.ShortArraysRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.SimpleTestRunOnGpu
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.StrictMatchRunOnGpu
No body for method: <java.lang.Double: long doubleToRawLongBits(double)>
No body for method: <java.lang.Double: double longBitsToDouble(long)>
Error creating method body: <java.lang.Double: long doubleToRawLongBits(double)>
Compiling CUDA code.
Running Transform2 on: edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.StringRunOnGpu
No body for method: <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>
No body for method: <java.lang.Throwable: java.lang.Throwable fillInStackTrace()>
Compiling CUDA code.
Packing up output.jar
[TEST 1/38] edu.syr.pcpratts.rootbeer.testcases.rootbeertest.gpurequired.NewOnGpu@2de1234b
CudaRuntime2 ctor: elapsedTimeMillis: 267
write time: elapsedTimeMillis: 99
error in cuModuleLoad 200
error in cuModuleGetFunction 400
error in cuFuncSetCacheConfig 400
error in cuParamSetSize 400
error in cuParamSetv gcInfoSpace 400
error in cuParamSetv gpuToSpace 400
error in cuParamSetv gpuHandlesMemory 400
error in cuParamSetv heapEndPtr 400
error in cuParamSetv bufferSizeMem 400
error in cuParamSetv gpuExceptionsMemory 400
error in cuParamSetv gpuExceptionsMemory 400
compile code: elapsedTimeMillis: 23
Running 500 blocks.
BlockShape: 250 GridShape: 2
error in cuFuncSetBlockShape 400
Error running blocks: 400
@pcpratts
Copy link
Copy Markdown

cuModuleLoad 200 means:
/**
* This indicates that the device kernel image is invalid. This can also
* indicate an invalid CUDA module.
*/
CUDA_ERROR_INVALID_IMAGE = 200,

This error is because the CUDA image that represents the code for the GPU is broken.

I read the CUDA image in native/CudaRuntime2.c, function Java_edu_syr_pcpratts_rootbeer_runtime2_cuda_CudaRuntime2_loadFunction, line 393 in commit 49091d8021b3.

I generate the image in: src/edu/syr/pcpratts/rootbeer/generate/opencl/tweaks/CudaTweaks.java

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment