half/scan for 64 bit/clock/num_cores and other additions
This commit is contained in:
@@ -5,7 +5,13 @@ export uniform int width() { return programCount; }
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
float a = aFOO[programIndex];
|
||||
assert(programCount <= 64);
|
||||
#ifdef __NVPTX__
|
||||
uniform float * uniform xarr = uniform new uniform float[70*70];
|
||||
uniform float (* uniform x)[70] = (uniform float (* uniform)[70])xarr;
|
||||
#define _SHMALLOC
|
||||
#else
|
||||
uniform float x[70][70];
|
||||
#endif
|
||||
for (uniform int i = 0; i < 70; ++i)
|
||||
for (uniform int j = 0; j < 70; ++j)
|
||||
x[i][j] = 2+b-5;
|
||||
@@ -16,6 +22,10 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
else
|
||||
x[b-1][a-1] = 1;
|
||||
RET[programIndex] = x[4][a];
|
||||
|
||||
#ifdef _SHMALLOC
|
||||
delete xarr;
|
||||
#endif
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
export uniform int width() { return programCount; }
|
||||
|
||||
|
||||
#define N0 10
|
||||
#define N0 12
|
||||
#define N1 20
|
||||
#define N2 50
|
||||
static uniform float array[N2][N1][N0];
|
||||
@@ -10,14 +10,14 @@ static uniform float array[N2][N1][N0];
|
||||
task void x(const float f) {
|
||||
uniform int j;
|
||||
|
||||
assert(taskCount == (int32)N0*N1*N2);
|
||||
assert(taskCount0 == (int32)N0);
|
||||
assert(taskCount1 == (int32)N1);
|
||||
assert(taskCount2 == (int32)N2);
|
||||
assert(taskIndex == (int32)taskIndex0 + (int32)N0*(taskIndex1 +(int32) N1*taskIndex2));
|
||||
assert(taskIndex0 < (int32)N0);
|
||||
assert(taskIndex1 < (int32)N1);
|
||||
assert(taskIndex2 < (int32)N2);
|
||||
assert(taskCount == (uniform int32)N0*N1*N2);
|
||||
assert(taskCount0 == (uniform int32)N0);
|
||||
assert(taskCount1 == (uniform int32)N1);
|
||||
assert(taskCount2 == (uniform int32)N2);
|
||||
assert(taskIndex == (uniform int32)taskIndex0 + (uniform int32)N0*(taskIndex1 +(uniform int32) N1*taskIndex2));
|
||||
assert(taskIndex0 < (uniform int32)N0);
|
||||
assert(taskIndex1 < (uniform int32)N1);
|
||||
assert(taskIndex2 < (uniform int32)N2);
|
||||
|
||||
const uniform int i0 = taskIndex0;
|
||||
const uniform int i1 = taskIndex1;
|
||||
@@ -38,5 +38,5 @@ export void f_f(uniform float RET[], uniform float fFOO[]) {
|
||||
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = 9999.000000;
|
||||
RET[programIndex] = 11999.000000;
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
export uniform int width() { return programCount; }
|
||||
|
||||
|
||||
#define N0 10
|
||||
#define N0 12
|
||||
#define N1 20
|
||||
#define N2 50
|
||||
static uniform float array[N2][N1][N0];
|
||||
@@ -38,5 +38,5 @@ export void f_f(uniform float RET[], uniform float fFOO[]) {
|
||||
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
RET[programIndex] = 9999.000000;
|
||||
RET[programIndex] = 11999.000000;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ export uniform int width() { return programCount; }
|
||||
export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
float a = aFOO[programIndex];
|
||||
// calculation error 1e-6 is the same as in icc
|
||||
RET[programIndex] = (exp(-log(1/a)) - a) < 1e-6 ? 1 : 0;
|
||||
RET[programIndex] = (exp(-log(1/a)) - a)/a < 1e-6 ? 1 : 0;
|
||||
}
|
||||
|
||||
export void result(uniform float RET[4]) {
|
||||
|
||||
@@ -4,7 +4,7 @@ export uniform int width() { return programCount; }
|
||||
|
||||
export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
float a = aFOO[programIndex];
|
||||
RET[programIndex] = round(a+.499999);
|
||||
RET[programIndex] = round(a+.49999);
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
|
||||
@@ -4,7 +4,7 @@ export uniform int width() { return programCount; }
|
||||
|
||||
export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
float a = aFOO[programIndex];
|
||||
RET[programIndex] = floor(a+.999999);
|
||||
RET[programIndex] = floor(a+.99999);
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
|
||||
Reference in New Issue
Block a user