Hi again,

Toby St Clere Smithe <m...@tsmithe.net>
writes:
> Here's the example output from examples/iterative-solvers.py:
>
> Solution of Ax = b for x:
> [ 0.  0.  0. ...,  0.  0.  0.]
> Num. iterations: 0
> Estimated error: 6.94731371524e-310
>
> If you want to test for yourself (please do!), just grab my pyviennacl
> branch[1], build as usual, and then use a command like the following
> (you don't need to `make install`):
>
> PYTHONPATH=build/build/lib.linux-x86_64-2.7 python 
> examples/iterative-solvers.py

I added a couple more print statements and turned on the debugging flags
for ViennaCL, and now get the following output, if it helps to shed some
light on what's going on. I'll now proceed to dive into the gmres source
to try and figure things out! (Still baffled by Karl's compilation
issues...)

ViennaCL: Initializing new ViennaCL context.
ViennaCL: Setting all devices for context...
ViennaCL: Getting platform...
ViennaCL: Querying devices available at current platform.
ViennaCL: Found 1 devices.
ViennaCL: Creating device object (CTOR with cl_device_id)
ViennaCL: Creating device object (Copy CTOR)
ViennaCL: Number of devices for context: 1
ViennaCL: Creating device object (Copy CTOR)
ViennaCL: Initialization of new ViennaCL context done.
ViennaCL: Creating device object (Copy CTOR)
ViennaCL: Creating device object (Copy CTOR)
ViennaCL: Adding new queue for device 0x15ec810 to context 0x1fe3c10
ViennaCL: Creating memory of size 260104 for context 0x1fe3c10 (unsafe, 
returning cl_mem directly)
ViennaCL: Creating memory of size 1296420 for context 0x1fe3c10 (unsafe, 
returning cl_mem directly)
ViennaCL: Creating memory of size 2592840 for context 0x1fe3c10 (unsafe, 
returning cl_mem directly)
ViennaCL: Creating memory of size 260104 for context 0x1fe3c10 (unsafe, 
returning cl_mem directly)
ViennaCL: Creating memory of size 1296420 for context 0x1fe3c10 (unsafe, 
returning cl_mem directly)
ViennaCL: Creating memory of size 2592840 for context 0x1fe3c10 (unsafe, 
returning cl_mem directly)
Loaded system matrix
ViennaCL: Creating memory of size 521216 for context 0x1fe3c10 (unsafe, 
returning cl_mem directly)
ViennaCL: Adding program 'double_vector' to context 0x1fe3c10
ViennaCL: Creating kernel object (full CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (full CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (full CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (full CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (full CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (full CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (full CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (full CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (full CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (full CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (full CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (full CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (full CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (full CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (full CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (full CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (full CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Creating kernel object (Copy CTOR)
ViennaCL: Getting program 'double_vector' from context 0x1fe3c10
ViennaCL: Setting global work size to 16384 at index 0 for kernel assign_cpu
ViennaCL: Setting handle kernel argument 0x52f8900 at pos 0 for kernel 
assign_cpu
ViennaCL: Setting unsigned int kernel argument 0 at pos 1 for kernel assign_cpu
ViennaCL: Setting unsigned int kernel argument 1 at pos 2 for kernel assign_cpu
ViennaCL: Setting unsigned int kernel argument 65152 at pos 3 for kernel 
assign_cpu
ViennaCL: Setting unsigned int kernel argument 65152 at pos 4 for kernel 
assign_cpu
ViennaCL: Setting double precision kernel argument 0 at pos 5 for kernel 
assign_cpu
ViennaCL: Starting 1D-kernel 'assign_cpu'...
ViennaCL: Global work size: '16384'...
ViennaCL: Local work size: '128'...
ViennaCL: Kernel assign_cpu finished!
Loaded RHS vector
ViennaCL: Creating memory of size 1024 for context 0x1fe3c10 (unsafe, returning 
cl_mem directly)
ViennaCL: Getting program 'double_vector' from context 0x1fe3c10
ViennaCL: Setting global work size to 128 at index 0 for kernel assign_cpu
ViennaCL: Setting handle kernel argument 0x52fdce0 at pos 0 for kernel 
assign_cpu
ViennaCL: Setting unsigned int kernel argument 0 at pos 1 for kernel assign_cpu
ViennaCL: Setting unsigned int kernel argument 1 at pos 2 for kernel assign_cpu
ViennaCL: Setting unsigned int kernel argument 128 at pos 3 for kernel 
assign_cpu
ViennaCL: Setting unsigned int kernel argument 128 at pos 4 for kernel 
assign_cpu
ViennaCL: Setting double precision kernel argument 0 at pos 5 for kernel 
assign_cpu
ViennaCL: Starting 1D-kernel 'assign_cpu'...
ViennaCL: Global work size: '128'...
ViennaCL: Local work size: '128'...
ViennaCL: Kernel assign_cpu finished!
ViennaCL: Getting program 'double_vector' from context 0x1fe3c10
ViennaCL: Setting handle kernel argument 0x52f8900 at pos 0 for kernel norm
ViennaCL: Setting unsigned int kernel argument 0 at pos 1 for kernel norm
ViennaCL: Setting unsigned int kernel argument 1 at pos 2 for kernel norm
ViennaCL: Setting unsigned int kernel argument 65025 at pos 3 for kernel norm
ViennaCL: Setting unsigned int kernel argument 2 at pos 4 for kernel norm
ViennaCL: Setting local memory kernel argument of size 1024 bytes at pos 5 for 
kernel norm
ViennaCL: Setting handle kernel argument 0x52fdce0 at pos 6 for kernel norm
ViennaCL: Starting 1D-kernel 'norm'...
ViennaCL: Global work size: '16384'...
ViennaCL: Local work size: '128'...
ViennaCL: Kernel norm finished!
ViennaCL: Creating memory of size 521216 for context 0x1fe3c10 (unsafe, 
returning cl_mem directly)
ViennaCL: Getting program 'double_vector' from context 0x1fe3c10
ViennaCL: Setting global work size to 16384 at index 0 for kernel assign_cpu
ViennaCL: Setting handle kernel argument 0x52fdf10 at pos 0 for kernel 
assign_cpu
ViennaCL: Setting unsigned int kernel argument 0 at pos 1 for kernel assign_cpu
ViennaCL: Setting unsigned int kernel argument 1 at pos 2 for kernel assign_cpu
ViennaCL: Setting unsigned int kernel argument 65152 at pos 3 for kernel 
assign_cpu
ViennaCL: Setting unsigned int kernel argument 65152 at pos 4 for kernel 
assign_cpu
ViennaCL: Setting double precision kernel argument 0 at pos 5 for kernel 
assign_cpu
ViennaCL: Starting 1D-kernel 'assign_cpu'...
ViennaCL: Global work size: '16384'...
ViennaCL: Local work size: '128'...
ViennaCL: Kernel assign_cpu finished!
ViennaCL: Getting program 'double_vector' from context 0x1fe3c10
ViennaCL: Setting global work size to 16384 at index 0 for kernel av_cpu
ViennaCL: Setting handle kernel argument 0x52fdf10 at pos 0 for kernel av_cpu
ViennaCL: Setting packed_cl_uint kernel argument (0, 1, 65025, 65152) at pos 1 
for kernel av_cpu
ViennaCL: Setting double precision kernel argument 1 at pos 2 for kernel av_cpu
ViennaCL: Setting unsigned int kernel argument 0 at pos 3 for kernel av_cpu
ViennaCL: Setting handle kernel argument 0x52f8900 at pos 4 for kernel av_cpu
ViennaCL: Setting packed_cl_uint kernel argument (0, 1, 65025, 65152) at pos 5 
for kernel av_cpu
ViennaCL: Starting 1D-kernel 'av_cpu'...
ViennaCL: Global work size: '16384'...
ViennaCL: Local work size: '128'...
ViennaCL: Kernel av_cpu finished!
ViennaCL: Creating memory of size 521216 for context 0x1fe3c10 (unsafe, 
returning cl_mem directly)
ViennaCL: Getting program 'double_vector' from context 0x1fe3c10
ViennaCL: Setting global work size to 16384 at index 0 for kernel assign_cpu
ViennaCL: Setting handle kernel argument 0x52fc800 at pos 0 for kernel 
assign_cpu
ViennaCL: Setting unsigned int kernel argument 0 at pos 1 for kernel assign_cpu
ViennaCL: Setting unsigned int kernel argument 1 at pos 2 for kernel assign_cpu
ViennaCL: Setting unsigned int kernel argument 65152 at pos 3 for kernel 
assign_cpu
ViennaCL: Setting unsigned int kernel argument 65152 at pos 4 for kernel 
assign_cpu
ViennaCL: Setting double precision kernel argument 0 at pos 5 for kernel 
assign_cpu
ViennaCL: Starting 1D-kernel 'assign_cpu'...
ViennaCL: Global work size: '16384'...
ViennaCL: Local work size: '128'...
ViennaCL: Kernel assign_cpu finished!
ViennaCL: Getting program 'double_vector' from context 0x1fe3c10
ViennaCL: Setting global work size to 16384 at index 0 for kernel av_cpu
ViennaCL: Setting handle kernel argument 0x52fc800 at pos 0 for kernel av_cpu
ViennaCL: Setting packed_cl_uint kernel argument (0, 1, 65025, 65152) at pos 1 
for kernel av_cpu
ViennaCL: Setting double precision kernel argument 1 at pos 2 for kernel av_cpu
ViennaCL: Setting unsigned int kernel argument 0 at pos 3 for kernel av_cpu
ViennaCL: Setting handle kernel argument 0x52fdf10 at pos 4 for kernel av_cpu
ViennaCL: Setting packed_cl_uint kernel argument (0, 1, 65025, 65152) at pos 5 
for kernel av_cpu
ViennaCL: Starting 1D-kernel 'av_cpu'...
ViennaCL: Global work size: '16384'...
ViennaCL: Local work size: '128'...
ViennaCL: Kernel av_cpu finished!
Solution of Ax = b for x:
[ 0.  0.  0. ...,  0.  0.  0.]
Num. iterations: 0
Estimated error: 6.90497471208e-310


Cheers,

Toby


------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
ViennaCL-devel mailing list
ViennaCL-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/viennacl-devel

Reply via email to