libxsmm_otrans Interface

public interface libxsmm_otrans

Overloaded TRANSPOSE routines (out-of-place form).


Contents


Module Procedures

public pure subroutine libxsmm_otrans_p0(output, input, typesize, m, n, ldi, ldo)

Transpose a matrix (out-of-place form).

Arguments

Type IntentOptional Attributes Name
type(C_PTR), intent(in) :: output
type(C_PTR), intent(in) :: input
integer(kind=C_INT), intent(in) :: typesize
integer(kind=LIBXSMM_BLASINT_KIND), intent(in) :: m
integer(kind=LIBXSMM_BLASINT_KIND), intent(in), optional :: n
integer(kind=LIBXSMM_BLASINT_KIND), intent(in), optional :: ldi
integer(kind=LIBXSMM_BLASINT_KIND), intent(in), optional :: ldo

public subroutine libxsmm_otrans_d1(output, input, m, n, ldi, ldo)

Transpose a matrix (out-of-place form, DP/rank-1).

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(out), TARGET :: output(*)
real(kind=C_DOUBLE), intent(in), TARGET :: input(*)
integer(kind=LIBXSMM_BLASINT_KIND), intent(in) :: m
integer(kind=LIBXSMM_BLASINT_KIND), intent(in), optional :: n
integer(kind=LIBXSMM_BLASINT_KIND), intent(in), optional :: ldi
integer(kind=LIBXSMM_BLASINT_KIND), intent(in), optional :: ldo

public subroutine libxsmm_otrans_d2(output, input, m, n, ldi, ldo)

Transpose a matrix (out-of-place form, DP/rank-2).

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(out), TARGET :: output(ldo,*)
real(kind=C_DOUBLE), intent(in), TARGET :: input(ldi,*)
integer(kind=LIBXSMM_BLASINT_KIND), intent(in) :: m
integer(kind=LIBXSMM_BLASINT_KIND), intent(in) :: n
integer(kind=LIBXSMM_BLASINT_KIND), intent(in) :: ldi
integer(kind=LIBXSMM_BLASINT_KIND), intent(in) :: ldo

public subroutine libxsmm_otrans_s1(output, input, m, n, ldi, ldo)

Transpose a matrix (out-of-place form, SP/rank-1).

Arguments

Type IntentOptional Attributes Name
real(kind=C_FLOAT), intent(out), TARGET :: output(*)
real(kind=C_FLOAT), intent(in), TARGET :: input(*)
integer(kind=LIBXSMM_BLASINT_KIND), intent(in) :: m
integer(kind=LIBXSMM_BLASINT_KIND), intent(in), optional :: n
integer(kind=LIBXSMM_BLASINT_KIND), intent(in), optional :: ldi
integer(kind=LIBXSMM_BLASINT_KIND), intent(in), optional :: ldo

public subroutine libxsmm_otrans_s2(output, input, m, n, ldi, ldo)

Transpose a matrix (out-of-place form, SP/rank-2).

Arguments

Type IntentOptional Attributes Name
real(kind=C_FLOAT), intent(out), TARGET :: output(ldo,*)
real(kind=C_FLOAT), intent(in), TARGET :: input(ldi,*)
integer(kind=LIBXSMM_BLASINT_KIND), intent(in) :: m
integer(kind=LIBXSMM_BLASINT_KIND), intent(in) :: n
integer(kind=LIBXSMM_BLASINT_KIND), intent(in) :: ldi
integer(kind=LIBXSMM_BLASINT_KIND), intent(in) :: ldo