Quantcast

[gpars-dev] GPars dataflow type structure

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[gpars-dev] GPars dataflow type structure

Russel Winder-2
I have a function using DataflowVariables, operators and tasks that
works fine when compiled for dynamic execution. However if I try to
apply @CompileStatic to this function, I get the following. Should this
be treated as an error meriting an issue?



/home/users/russel/Progs/Applications/Pi_Quadrature/Groovy/pi_gpars_dataflowOperators_accumulatorTask_static.groovy: 26: [Static type checking] - Cannot call groovyx.gpars.dataflow.Dataflow#select(java.util.List <groovyx.gpars.dataflow.SelectableChannel>) with arguments [java.util.List <groovyx.gpars.dataflow.DataflowVariable>]
 @ line 26, column 29.
       final selector = select gatherChannels
                               ^


/home/users/russel/Progs/Applications/Pi_Quadrature/Groovy/pi_gpars_dataflowOperators_accumulatorTask_static.groovy: 30: [Static type checking] - Cannot find matching method java.util.List#getAt(java.lang.Object). Please check if the declared type is right and if the method exists.
 @ line 30, column 22.
       operator(inputs:[scatterChannels[index]],
outputs:[gatherChannels[index]]) {i ->
                        ^

/home/users/russel/Progs/Applications/Pi_Quadrature/Groovy/pi_gpars_dataflowOperators_accumulatorTask_static.groovy: 30: [Static type checking] - Cannot find matching method java.util.List#getAt(java.lang.Object). Please check if the declared type is right and if the method exists.
 @ line 30, column 56.
   terChannels[index]], outputs:[gatherChan
                                 ^

/home/users/russel/Progs/Applications/Pi_Quadrature/Groovy/pi_gpars_dataflowOperators_accumulatorTask_static.groovy: 31: [Static type checking] - Cannot find matching method PartialSum#staticCompile(java.lang.Object, java.lang.Integer, java.math.BigDecimal). Please check if the declared type is right and if the method exists.
 @ line 31, column 21.
         bindOutput 0, PartialSum.staticCompile(i, sliceSize, delta)
                       ^

/home/users/russel/Progs/Applications/Pi_Quadrature/Groovy/pi_gpars_dataflowOperators_accumulatorTask_static.groovy: 33: [Static type checking] - Cannot find matching method java.util.List#getAt(java.lang.Object). Please check if the declared type is right and if the method exists.
 @ line 33, column 5.
       scatterChannels[index] << index
       ^

/home/users/russel/Progs/Applications/Pi_Quadrature/Groovy/pi_gpars_dataflowOperators_accumulatorTask_static.groovy: 35: [Static type checking] - No such property: val for class: groovyx.gpars.dataflow.Promise <java.lang.Object>
 @ line 35, column 28.
     final pi = 4.0 * delta * accumulator.val
                              ^




--
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:[hidden email]
41 Buckmaster Road    m: +44 7770 465 077   xmpp: [hidden email]
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

signature.asc (188 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [gpars-dev] GPars dataflow type structure

Vaclav
Administrator
Should be fixed in master now.

Vaclav


On Mon, Nov 17, 2014 at 7:06 AM, Russel Winder <[hidden email]> wrote:
I have a function using DataflowVariables, operators and tasks that
works fine when compiled for dynamic execution. However if I try to
apply @CompileStatic to this function, I get the following. Should this
be treated as an error meriting an issue?



/home/users/russel/Progs/Applications/Pi_Quadrature/Groovy/pi_gpars_dataflowOperators_accumulatorTask_static.groovy: 26: [Static type checking] - Cannot call groovyx.gpars.dataflow.Dataflow#select(java.util.List <groovyx.gpars.dataflow.SelectableChannel>) with arguments [java.util.List <groovyx.gpars.dataflow.DataflowVariable>]
 @ line 26, column 29.
       final selector = select gatherChannels
                               ^


/home/users/russel/Progs/Applications/Pi_Quadrature/Groovy/pi_gpars_dataflowOperators_accumulatorTask_static.groovy: 30: [Static type checking] - Cannot find matching method java.util.List#getAt(java.lang.Object). Please check if the declared type is right and if the method exists.
 @ line 30, column 22.
       operator(inputs:[scatterChannels[index]],
outputs:[gatherChannels[index]]) {i ->
                        ^

/home/users/russel/Progs/Applications/Pi_Quadrature/Groovy/pi_gpars_dataflowOperators_accumulatorTask_static.groovy: 30: [Static type checking] - Cannot find matching method java.util.List#getAt(java.lang.Object). Please check if the declared type is right and if the method exists.
 @ line 30, column 56.
   terChannels[index]], outputs:[gatherChan
                                 ^

/home/users/russel/Progs/Applications/Pi_Quadrature/Groovy/pi_gpars_dataflowOperators_accumulatorTask_static.groovy: 31: [Static type checking] - Cannot find matching method PartialSum#staticCompile(java.lang.Object, java.lang.Integer, java.math.BigDecimal). Please check if the declared type is right and if the method exists.
 @ line 31, column 21.
         bindOutput 0, PartialSum.staticCompile(i, sliceSize, delta)
                       ^

/home/users/russel/Progs/Applications/Pi_Quadrature/Groovy/pi_gpars_dataflowOperators_accumulatorTask_static.groovy: 33: [Static type checking] - Cannot find matching method java.util.List#getAt(java.lang.Object). Please check if the declared type is right and if the method exists.
 @ line 33, column 5.
       scatterChannels[index] << index
       ^

/home/users/russel/Progs/Applications/Pi_Quadrature/Groovy/pi_gpars_dataflowOperators_accumulatorTask_static.groovy: 35: [Static type checking] - No such property: val for class: groovyx.gpars.dataflow.Promise <java.lang.Object>
 @ line 35, column 28.
     final pi = 4.0 * delta * accumulator.val
                              ^




--
Russel.
=============================================================================
Dr Russel Winder      t: <a href="tel:%2B44%2020%207585%202200" value="+442075852200">+44 20 7585 2200   voip: [hidden email]
41 Buckmaster Road    m: <a href="tel:%2B44%207770%20465%20077" value="+447770465077">+44 7770 465 077   xmpp: [hidden email]
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder



--
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [gpars-dev] GPars dataflow type structure

Russel Winder-2
On Mon, 2014-11-17 at 12:08 +0100, Václav Pech wrote:
> Should be fixed in master now.

It is indeed :-)

Sadly though static compilation doesn't make much performance difference
for this code since there is only one computationally intensive for loop
and Jochen has optimized the heck out of the code generation for the
dynamic case.

--
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:[hidden email]
41 Buckmaster Road    m: +44 7770 465 077   xmpp: [hidden email]
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

signature.asc (188 bytes) Download Attachment
Loading...