Hi guys,

I changed a little CUDAToplogy in order to obtain autoBlocks() and 
autoThreads() from a GPU. I've copied the idea from KMeansCuda.x10, line 
141.

When I try to compile I obtain the error below:


$ x10c++ -O -NO_CHECKS -STATIC_CALLS -o CUDATopology CUDATopology.x10
/home/rgomes/developer/workspace-x10/test-topology/src/CUDATopology.x10:57: 
@CUDA Expected: val <something> = <autoBlocks/Threads or constant cache 
definition
x10cuda.visit.CUDAPatternMatcher$Complaint
         at 
x10cuda.visit.CUDAPatternMatcher.complainIfNot2(CUDAPatternMatcher.java:109)
         at 
x10cuda.visit.CUDAPatternMatcher.complainIfNot(CUDAPatternMatcher.java:102)
         at 
x10cuda.visit.CUDAPatternMatcher.complainIfNot(CUDAPatternMatcher.java:114)
         at 
x10cuda.visit.CUDAPatternMatcher.leave(CUDAPatternMatcher.java:270)
         at 
polyglot.visit.NodeVisitor.visitEdgeNoOverride(NodeVisitor.java:258)
         at polyglot.visit.NodeVisitor.visitEdge(NodeVisitor.java:217)



This is a snippet where the error happened. See line 57.



for (c in children.values()) {
     Console.OUT.println("  Child "+c.childIndex()+": "+c);
     Console.OUT.println("    Parent: "+c.parent());
     Console.OUT.println("    NumChildren: "+c.numChildren());
     if (c.isCUDA()) Console.OUT.println("    Is a CUDA place");
     if (c.isHost()) Console.OUT.println("    Is a Host place");
     if (c.isSPE())  Console.OUT.println("    Is a SPE place");

     if (c.isCUDA()) {
        val gmemory = CUDAUtilities.makeRemoteArray[Int](c, 2, 0);
        
        finish async at (c) @CUDA @CUDADirectParams {
            gmemory(0) = CUDAUtilities.autoBlocks();    // line 57
            gmemory(1) = CUDAUtilities.autoThreads();
        }
        
        val hmemory = new Array[Int](2, 0);
        finish Array.asyncCopy(gmemory, 0, hmemory, 0, 2);
        Console.OUT.println("    blocks  = " + hmemory(0));
        Console.OUT.println("    threads = " + hmemory(1));
     }
}


I'm running x10-trunk, compiled with CUDA support.

Any idea?

Thanks a lot.
Cheers :)

-- 
Richard Gomes
M: +44(77)9955-6813
http://tinyurl.com/frgomes
twitter: frgomes

JQuantLib is a library for Quantitative Finance written in Java.
http://www.jquantlib.org/
twitter: jquantlib

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today
http://p.sf.net/sfu/msIE9-sfdev2dev
_______________________________________________
X10-users mailing list
X10-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/x10-users

Reply via email to