Disabled external gits
This commit is contained in:
@ -0,0 +1,3 @@
|
||||
ADD_TEST ( PyImathMumpyTest
|
||||
${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/pyImathMumpyTest.in
|
||||
)
|
@ -0,0 +1,5 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
# check_PROGRAMS = pyImathNumpyTest
|
||||
|
||||
# TESTS = $(check_PROGRAMS)
|
74
cs440-acg/ext/openexr/PyIlmBase/PyImathNumpyTest/pyImathNumpyTest.in
Executable file
74
cs440-acg/ext/openexr/PyIlmBase/PyImathNumpyTest/pyImathNumpyTest.in
Executable file
@ -0,0 +1,74 @@
|
||||
import sys
|
||||
|
||||
if len(sys.argv) != 2 or sys.argv[1] not in ['-cuda','-nocuda']:
|
||||
print "Usage: %s <-cuda|-nocuda>" % (sys.argv[0])
|
||||
sys.exit(1)
|
||||
|
||||
use_cuda = False
|
||||
if sys.argv[1] == '-cuda':
|
||||
use_cuda = True
|
||||
|
||||
if use_cuda:
|
||||
import pycuda.autoinit
|
||||
import pycuda.driver as drv
|
||||
from pycuda.compiler import SourceModule
|
||||
mod = SourceModule("""
|
||||
__global__ void multiply_them(float *dest, float *a, float *b)
|
||||
{
|
||||
const int i = threadIdx.x;
|
||||
dest[i] = a[i] * b[i];
|
||||
}
|
||||
__global__ void multiply_them_int(int *dest, int *a, int *b)
|
||||
{
|
||||
const int i = threadIdx.x;
|
||||
dest[i] = a[i] * b[i];
|
||||
}
|
||||
""")
|
||||
multiply_them = mod.get_function("multiply_them")
|
||||
multiply_them_int = mod.get_function("multiply_them_int")
|
||||
|
||||
import numpy
|
||||
import imathnumpy
|
||||
from imath import FloatArray, IntArray
|
||||
import particle
|
||||
|
||||
length = 10
|
||||
fa = particle.random(1,5,length)
|
||||
fb = particle.random(1,5,length)
|
||||
fdest = FloatArray(length)
|
||||
|
||||
a = imathnumpy.arrayToNumpy(fa)
|
||||
b = imathnumpy.arrayToNumpy(fb)
|
||||
dest = imathnumpy.arrayToNumpy(fdest)
|
||||
|
||||
if use_cuda:
|
||||
multiply_them(drv.Out(dest), drv.In(a), drv.In(b), block=(length,1,1))
|
||||
else:
|
||||
dest[:] = a * b
|
||||
|
||||
results = fdest - fa*fb
|
||||
|
||||
print "a:", particle.join(fa,' ')
|
||||
print "b:", particle.join(fb,' ')
|
||||
print "dest:", particle.join(fdest,' ')
|
||||
print "diff:", particle.join(results,' ')
|
||||
|
||||
ia = particle.floor(particle.random(1,5,length))
|
||||
ib = particle.floor(particle.random(1,5,length))
|
||||
idest = IntArray(length)
|
||||
|
||||
a = imathnumpy.arrayToNumpy(ia)
|
||||
b = imathnumpy.arrayToNumpy(ib)
|
||||
dest = imathnumpy.arrayToNumpy(idest)
|
||||
|
||||
if use_cuda:
|
||||
multiply_them_int(drv.Out(dest), drv.In(a), drv.In(b), block=(length,1,1))
|
||||
else:
|
||||
dest[:] = a * b
|
||||
|
||||
results = idest - ia*ib
|
||||
|
||||
print "a:", particle.join(ia,' ')
|
||||
print "b:", particle.join(ib,' ')
|
||||
print "dest:", particle.join(idest,' ')
|
||||
print "diff:", particle.join(results,' ')
|
Reference in New Issue
Block a user