ply_fpt_init Subroutine

public subroutine ply_fpt_init(n, params, trafo, blocksize, approx_terms, striplen, subblockingWidth)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
type(ply_trafo_params_type), intent(inout) :: params
integer, intent(in) :: trafo
integer, intent(in), optional :: blocksize

Smallest block that is approximated by approx_terms coefficients.

Please note, that this has to be larger than 2*approx_terms to result in a reduced number of operations. Default is 64.

integer, intent(in), optional :: approx_terms

Number of approximation terms used to compute off-diagonal products.

Defaults to 18, which is the suggested accuracy for double precision.

integer, intent(in) :: striplen

Length to use in vectorization, this is the number of independent matrix multiplications that are to be done simultaneously.

integer, intent(in), optional :: subblockingWidth

The width of the subblocks used during the unrolled base exchange to ensure a better cache usage.


Calls

proc~~ply_fpt_init~~CallsGraph proc~ply_fpt_init ply_fpt_init proc~ply_l ply_l proc~ply_fpt_init->proc~ply_l proc~ply_l_int ply_l_int proc~ply_fpt_init->proc~ply_l_int proc~ply_m ply_m proc~ply_fpt_init->proc~ply_m proc~ply_m_int ply_m_int proc~ply_fpt_init->proc~ply_m_int proc~ply_lambda ply_lambda proc~ply_l->proc~ply_lambda proc~ply_l_int->proc~ply_l proc~ply_l_int->proc~ply_lambda proc~ply_m->proc~ply_lambda proc~ply_m_int->proc~ply_lambda

Called by

proc~~ply_fpt_init~~CalledByGraph proc~ply_fpt_init ply_fpt_init proc~ply_init_legfpt ply_init_legFpt proc~ply_init_legfpt->proc~ply_fpt_init proc~check_fwd_bwd check_fwd_bwd proc~check_fwd_bwd->proc~ply_init_legfpt proc~ply_check_legtopnt ply_check_legToPnt proc~ply_check_legtopnt->proc~ply_init_legfpt proc~ply_check_legtopnt_2d ply_check_legToPnt_2D proc~ply_check_legtopnt_2d->proc~ply_init_legfpt proc~ply_check_legtopnt_2d~2 ply_check_legToPnt_2D proc~ply_check_legtopnt_2d~2->proc~ply_init_legfpt proc~ply_check_legtopnt_2d~3 ply_check_legToPnt_2D proc~ply_check_legtopnt_2d~3->proc~ply_init_legfpt proc~ply_check_legtopnt_2d~4 ply_check_legToPnt_2D proc~ply_check_legtopnt_2d~4->proc~ply_init_legfpt proc~ply_check_legtopnt_3d ply_check_legToPnt_3D proc~ply_check_legtopnt_3d->proc~ply_init_legfpt proc~ply_check_legtopnt_3d~2 ply_check_legToPnt_3D proc~ply_check_legtopnt_3d~2->proc~ply_init_legfpt proc~ply_check_legtopnt_3d~3 ply_check_legToPnt_3D proc~ply_check_legtopnt_3d~3->proc~ply_init_legfpt proc~ply_check_legtopnt_3d~4 ply_check_legToPnt_3D proc~ply_check_legtopnt_3d~4->proc~ply_init_legfpt proc~ply_check_legtopnt~2 ply_check_legToPnt proc~ply_check_legtopnt~2->proc~ply_init_legfpt proc~ply_check_pnttoleg ply_check_pntToLeg proc~ply_check_pnttoleg->proc~ply_init_legfpt proc~ply_check_pnttoleg~2 ply_check_pntToLeg proc~ply_check_pnttoleg~2->proc~ply_init_legfpt proc~ply_poly_project_fillbody ply_poly_project_fillbody proc~ply_poly_project_fillbody->proc~ply_init_legfpt