#NEWLINE# def execute( self , repeat = 1 , unbind = True ) : #NEWLINE# #INDENT# shuffle_kernel = _get_transpose_kernel ( self . dtype_str ) #NEWLINE# kernel = kernel_specs . get_kernel ( self . kernel [ 0 ] ) #NEWLINE# for r in range ( self ) : #NEWLINE# #INDENT# if ( not self . beta ) : #NEWLINE# #INDENT# drv . memset_d8_async ( * self . zero_args ) #NEWLINE# #UNINDENT# shuffle_kernel . prepared_async_call ( * self . shuffle_args ) #NEWLINE# kernel . prepared_async_call ( * self . kernel [ 1 : ] ) #NEWLINE# #UNINDENT# if unbind : #NEWLINE# #INDENT# self . zero_args = None #NEWLINE# self . shuffle_args [ 2 : 5 ] = ( ( None , ) * 3 ) #NEWLINE# self . kernel [ 3 : 8 ] = ( ( None , ) * 5 )