I've also tried to create an example with theano.gpuarray.nnet.GpuSoftmax but after compilation it got replaced another implementation*GpuDnnSoftmax : *
*Elemwise{mul,no_inplace} [id A] '' |HostFromGpu(gpuarray) [id B] '' | |GpuSoftmax [id C] '' | |GpuFromHost<dev0> [id D] '' | |x [id E] |InplaceDimShuffle{x,x} [id F] '' |TensorConstant{2} [id G]CompilingHostFromGpu(gpuarray) [id A] '' 5 |GpuElemwise{Mul}[(0, 1)]<gpuarray> [id B] '' 4 |GpuArrayConstant{[[ 2.]]} [id C] |InplaceGpuDimShuffle{0,1} [id D] '' 3 |GpuDnnSoftmax{mode='channel', algo='accurate'} [id E] '' 2 |GpuContiguous [id F] '' 1 |InplaceGpuDimShuffle{0,1,x,x} [id G] '' 0 |<GpuArrayType<dev0>(float32, (False, False))> [id H]*I'm looking of a good example with a GPU Kernel. On Wednesday, July 12, 2017 at 9:56:08 AM UTC+2, Christopher Bourez wrote: > > I don't know what you mean by "not modifying" the source for GpuEye: > - In this example, I'm importing a not modifyed GpuEye op from Theano > basic ops > - If I'm using theano.tensor.eye, then it does not use the GpuEye > > Also, are you sure this test > > https://github.com/Theano/Theano/blob/2625464534147fd70da60a3a3ddcb63ed8e5a416/theano/gpuarray/tests/test_basic_ops.py#L401 > works well ? > > On Wednesday, July 12, 2017 at 2:48:44 AM UTC+2, Pascal Lamblin wrote: >> >> Does it work if you do not modify the source for GpuEye at all? >> If it does, then maybe sharing your new source would get you more help. >> >> On Tuesday, July 11, 2017 at 12:12:03 PM UTC-4, Christopher Bourez wrote: >>> >>> Hi, >>> >>> I'm trying to implement a simple GPU op but it always gives me a >>> Segmentation fault during compilation, without other message. >>> >>> For example : >>> import theano >>> from theano.gpuarray.basic_ops import GpuEye >>> >>> x = theano.tensor.iscalar('x') >>> y = theano.tensor.iscalar('y') >>> z = GpuEye(dtype='float32', context_name=None)(x,y, >>> theano.tensor.constant(0)) >>> >>> theano.printing.debugprint(z) >>> print("Compiling") >>> f = theano.function( [x,y], z) >>> theano.printing.debugprint(f) >>> print("Results") >>> print(f(3, 3)) >>> >>> I've also tried with the softmax gpu function. Is there something I'm >>> missing ? >>> >>> I copied the file, created a complete new op, and the segmentation fault >>> appears when I'm defining a Kernel in gpu_kernels() method of the op. >>> >>> Thank you a lot for your help >>> >> -- --- You received this message because you are subscribed to the Google Groups "theano-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to theano-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.