OpenCL (Java ラッパー、Eclipse を使用) を使用して、いくつかのデータに対して一連の計算を実行しようとしています。カーネル自体には計算が含まれていません。代わりに、他の関数を呼び出して作業を行います。
さて、無効か何かと思われる機能が1つあります。これはうまくいきます:
int scaled(floatMemory fMem, int a, float b){
int result = indexAlloc(fMem);
float a0 = getf(fMem,a,0);
float a1 = getf(fMem,a,1);
float a2 = getf(fMem,a,2);
setf(fMem, result, a0, a1, a2);
return 0;
}
ただし、このコードは内部エラーを引き起こします (最後から 2 番目のステートメントを参照)。
int scaled(floatMemory fMem, int a, float b){
int result = indexAlloc(fMem);
float a0 = getf(fMem,a,0);
float a1 = getf(fMem,a,1);
float a2 = getf(fMem,a,2);
setf(fMem, result, a0*b, a1*b, a2*b);
return 0;
}
他の論理テストをいくつか試してみたところ、float 値 'b' (つまり、無限または null) に何か問題があることがわかりました。誰でも私のためにそれを確認できますか?
PS: これはコンソールに出力されるものです:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x5a619b14, pid=7416, tid=12112
#
# JRE version: 7.0_25-b16
# Java VM: Java HotSpot(TM) Client VM (23.25-b01 mixed mode, sharing windows-x86 )
# Problematic frame:
# C [igdbcl32.dll+0x79b14] Delete+0x78a94
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# ~:\~\~\~\~\~\bin\hs_err_pid7416.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#