예제 #1
0
import chill

chill.source("src/applyR.c")
chill.destination("src/applyR_modified.c")

chill.procedure("applyR")

chill.loop(1)
chill.known("len >= 0")
chill.permute([2, 1])

chill.loop(2)
chill.permute([2, 1])
chill.tile(0, 1, 16)
# Loop fusion etc here

chill.loop(3)
chill.tile(0, 1, 16)
예제 #2
0
import chill

chill.source('src/mm.c')
chill.destination('src/mm_modified.c')
chill.procedure('mm')

chill.loop(0)

chill.known('ambn > 0')
chill.known('an > 0')
chill.known('bm > 0')

chill.peel( 0, 2, -4 ) # statement 0, loop 2 (middle, for j), 4 statements from END


예제 #3
0
import chill

chill.source("householder2.c")
chill.destination("householder2_modified.c")

chill.procedure("matmul")
chill.loop(0)

print("function 1")

chill.known("M >= 0")
chill.known("K >= 0")
chill.known("N >= 0")

chill.permute([1, 3, 2])
chill.tile(0, 2, 16)

chill.procedure("applyR")
chill.known("len >= 0")

chill.loop(1)
chill.permute([2, 1])

chill.loop(2)
chill.permute([2, 1])
chill.tile(0, 1, 16)
# Loop fusion etc here

chill.loop(3)
chill.tile(0, 1, 16)
예제 #4
0
import chill

chill.source('src/nonexistent.c')
chill.destination('src/errrrr.c')
chill.procedure('foo')
chill.loop(0)
예제 #5
0
import chill

chill.source( "src/matmul.c" )
chill.destination( "src/matmul_modified.c" )

chill.procedure( "matmul" )
chill.loop( 0 )

#chill.known( "M >= 0" )
#chill.known( "K >= 0" )
#chill.known( "N >= 0" )

#chill.permute( [1, 3, 2] )
#chill.tile( 0, 2, 16 )