libflame revision_anchor
FLA_Hess_UT_vars.h
Go to the documentation of this file.
00001 /*
00002    libflame
00003    An object-based infrastructure for developing high-performance
00004    dense linear algebra libraries.
00005 
00006    Copyright (C) 2011, The University of Texas
00007 
00008    libflame is free software; you can redistribute it and/or modify
00009    it under the terms of the GNU Lesser General Public License as
00010    published by the Free Software Foundation; either version 2.1 of
00011    the License, or (at your option) any later version.
00012 
00013    libflame is distributed in the hope that it will be useful, but
00014    WITHOUT ANY WARRANTY; without even the implied warranty of
00015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00016    Lesser General Public License for more details.
00017 
00018    You should have received a copy of the GNU Lesser General Public
00019    License along with libflame; if you did not receive a copy, see
00020    http://www.gnu.org/licenses/.
00021 
00022    For more information, please contact us at flame@cs.utexas.edu or
00023    send mail to:
00024 
00025    Field G. Van Zee and/or
00026    Robert A. van de Geijn
00027    The University of Texas at Austin
00028    Department of Computer Sciences
00029    1 University Station C0500
00030    Austin TX 78712
00031 */
00032 
00033 FLA_Error FLA_Hess_UT_unb_var1( FLA_Obj A, FLA_Obj T );
00034 FLA_Error FLA_Hess_UT_blk_var1( FLA_Obj A, FLA_Obj T );
00035 FLA_Error FLA_Hess_UT_step_unb_var1( FLA_Obj A, FLA_Obj T );
00036 
00037 FLA_Error FLA_Hess_UT_unb_var2( FLA_Obj A, FLA_Obj T );
00038 FLA_Error FLA_Hess_UT_blk_var2( FLA_Obj A, FLA_Obj T );
00039 FLA_Error FLA_Hess_UT_step_unb_var2( FLA_Obj A, FLA_Obj T );
00040 
00041 FLA_Error FLA_Hess_UT_unb_var3( FLA_Obj A, FLA_Obj T );
00042 FLA_Error FLA_Hess_UT_blk_var3( FLA_Obj A, FLA_Obj T );
00043 FLA_Error FLA_Hess_UT_step_unb_var3( FLA_Obj A, FLA_Obj T );
00044 
00045 FLA_Error FLA_Hess_UT_unb_var4( FLA_Obj A, FLA_Obj T );
00046 FLA_Error FLA_Hess_UT_blk_var4( FLA_Obj A, FLA_Obj T );
00047 FLA_Error FLA_Hess_UT_step_unb_var4( FLA_Obj A, FLA_Obj Y, FLA_Obj Z, FLA_Obj T );
00048 
00049 FLA_Error FLA_Hess_UT_unb_var5( FLA_Obj A, FLA_Obj T );
00050 FLA_Error FLA_Hess_UT_blk_var5( FLA_Obj A, FLA_Obj T );
00051 FLA_Error FLA_Hess_UT_step_unb_var5( FLA_Obj A, FLA_Obj U, FLA_Obj Z, FLA_Obj T );
00052 
00053 
00054 FLA_Error FLA_Hess_UT_opt_var1( FLA_Obj A, FLA_Obj T );
00055 FLA_Error FLA_Hess_UT_step_opt_var1( FLA_Obj A, FLA_Obj T );
00056 FLA_Error FLA_Hess_UT_step_ops_var1( int m_A,
00057                                      int m_T,
00058                                      float* buff_A, int rs_A, int cs_A, 
00059                                      float* buff_T, int rs_T, int cs_T );
00060 FLA_Error FLA_Hess_UT_step_opd_var1( int m_A,
00061                                      int m_T,
00062                                      double* buff_A, int rs_A, int cs_A, 
00063                                      double* buff_T, int rs_T, int cs_T );
00064 FLA_Error FLA_Hess_UT_step_opc_var1( int m_A,
00065                                      int m_T,
00066                                      scomplex* buff_A, int rs_A, int cs_A, 
00067                                      scomplex* buff_T, int rs_T, int cs_T );
00068 FLA_Error FLA_Hess_UT_step_opz_var1( int m_A,
00069                                      int m_T,
00070                                      dcomplex* buff_A, int rs_A, int cs_A, 
00071                                      dcomplex* buff_T, int rs_T, int cs_T );
00072 
00073 
00074 FLA_Error FLA_Hess_UT_opt_var2( FLA_Obj A, FLA_Obj T );
00075 FLA_Error FLA_Hess_UT_step_opt_var2( FLA_Obj A, FLA_Obj T );
00076 FLA_Error FLA_Hess_UT_step_ops_var2( int m_A,
00077                                      int m_T,
00078                                      float* buff_A, int rs_A, int cs_A, 
00079                                      float* buff_T, int rs_T, int cs_T );
00080 FLA_Error FLA_Hess_UT_step_opd_var2( int m_A,
00081                                      int m_T,
00082                                      double* buff_A, int rs_A, int cs_A, 
00083                                      double* buff_T, int rs_T, int cs_T );
00084 FLA_Error FLA_Hess_UT_step_opc_var2( int m_A,
00085                                      int m_T,
00086                                      scomplex* buff_A, int rs_A, int cs_A, 
00087                                      scomplex* buff_T, int rs_T, int cs_T );
00088 FLA_Error FLA_Hess_UT_step_opz_var2( int m_A,
00089                                      int m_T,
00090                                      dcomplex* buff_A, int rs_A, int cs_A, 
00091                                      dcomplex* buff_T, int rs_T, int cs_T );
00092 
00093 
00094 FLA_Error FLA_Hess_UT_opt_var3( FLA_Obj A, FLA_Obj T );
00095 FLA_Error FLA_Hess_UT_step_opt_var3( FLA_Obj A, FLA_Obj T );
00096 FLA_Error FLA_Hess_UT_step_ops_var3( int m_A,
00097                                      int m_T,
00098                                      float* buff_A, int rs_A, int cs_A, 
00099                                      float* buff_T, int rs_T, int cs_T );
00100 FLA_Error FLA_Hess_UT_step_opd_var3( int m_A,
00101                                      int m_T,
00102                                      double* buff_A, int rs_A, int cs_A, 
00103                                      double* buff_T, int rs_T, int cs_T );
00104 FLA_Error FLA_Hess_UT_step_opc_var3( int m_A,
00105                                      int m_T,
00106                                      scomplex* buff_A, int rs_A, int cs_A, 
00107                                      scomplex* buff_T, int rs_T, int cs_T );
00108 FLA_Error FLA_Hess_UT_step_opz_var3( int m_A,
00109                                      int m_T,
00110                                      dcomplex* buff_A, int rs_A, int cs_A, 
00111                                      dcomplex* buff_T, int rs_T, int cs_T );
00112 
00113 
00114 FLA_Error FLA_Hess_UT_opt_var4( FLA_Obj A, FLA_Obj T );
00115 FLA_Error FLA_Hess_UT_step_opt_var4( FLA_Obj A, FLA_Obj Y, FLA_Obj Z, FLA_Obj T );
00116 FLA_Error FLA_Hess_UT_step_ops_var4( int m_A,
00117                                      int m_T,
00118                                      float* buff_A, int rs_A, int cs_A, 
00119                                      float* buff_Y, int rs_Y, int cs_Y, 
00120                                      float* buff_Z, int rs_Z, int cs_Z, 
00121                                      float* buff_T, int rs_T, int cs_T );
00122 FLA_Error FLA_Hess_UT_step_opd_var4( int m_A,
00123                                      int m_T,
00124                                      double* buff_A, int rs_A, int cs_A, 
00125                                      double* buff_Y, int rs_Y, int cs_Y, 
00126                                      double* buff_Z, int rs_Z, int cs_Z, 
00127                                      double* buff_T, int rs_T, int cs_T );
00128 FLA_Error FLA_Hess_UT_step_opc_var4( int m_A,
00129                                      int m_T,
00130                                      scomplex* buff_A, int rs_A, int cs_A, 
00131                                      scomplex* buff_Y, int rs_Y, int cs_Y, 
00132                                      scomplex* buff_Z, int rs_Z, int cs_Z, 
00133                                      scomplex* buff_T, int rs_T, int cs_T );
00134 FLA_Error FLA_Hess_UT_step_opz_var4( int m_A,
00135                                      int m_T,
00136                                      dcomplex* buff_A, int rs_A, int cs_A, 
00137                                      dcomplex* buff_Y, int rs_Y, int cs_Y, 
00138                                      dcomplex* buff_Z, int rs_Z, int cs_Z, 
00139                                      dcomplex* buff_T, int rs_T, int cs_T );
00140 
00141 
00142 FLA_Error FLA_Hess_UT_opt_var5( FLA_Obj A, FLA_Obj T );
00143 FLA_Error FLA_Hess_UT_step_opt_var5( FLA_Obj A, FLA_Obj U, FLA_Obj Z, FLA_Obj T );
00144 FLA_Error FLA_Hess_UT_step_ops_var5( int m_A,
00145                                      int m_T,
00146                                      float* buff_A, int rs_A, int cs_A, 
00147                                      float* buff_U, int rs_U, int cs_U, 
00148                                      float* buff_Z, int rs_Z, int cs_Z, 
00149                                      float* buff_T, int rs_T, int cs_T );
00150 FLA_Error FLA_Hess_UT_step_opd_var5( int m_A,
00151                                      int m_T,
00152                                      double* buff_A, int rs_A, int cs_A, 
00153                                      double* buff_U, int rs_U, int cs_U, 
00154                                      double* buff_Z, int rs_Z, int cs_Z, 
00155                                      double* buff_T, int rs_T, int cs_T );
00156 FLA_Error FLA_Hess_UT_step_opc_var5( int m_A,
00157                                      int m_T,
00158                                      scomplex* buff_A, int rs_A, int cs_A, 
00159                                      scomplex* buff_U, int rs_U, int cs_U, 
00160                                      scomplex* buff_Z, int rs_Z, int cs_Z, 
00161                                      scomplex* buff_T, int rs_T, int cs_T );
00162 FLA_Error FLA_Hess_UT_step_opz_var5( int m_A,
00163                                      int m_T,
00164                                      dcomplex* buff_A, int rs_A, int cs_A, 
00165                                      dcomplex* buff_U, int rs_U, int cs_U, 
00166                                      dcomplex* buff_Z, int rs_Z, int cs_Z, 
00167                                      dcomplex* buff_T, int rs_T, int cs_T );
00168 
00169 
00170 FLA_Error FLA_Hess_UT_ofu_var1( FLA_Obj A, FLA_Obj T );
00171 FLA_Error FLA_Hess_UT_step_ofu_var1( FLA_Obj A, FLA_Obj T );
00172 FLA_Error FLA_Hess_UT_step_ofs_var1( int m_A,
00173                                      int m_T,
00174                                      float* buff_A, int rs_A, int cs_A, 
00175                                      float* buff_T, int rs_T, int cs_T );
00176 FLA_Error FLA_Hess_UT_step_ofd_var1( int m_A,
00177                                      int m_T,
00178                                      double* buff_A, int rs_A, int cs_A, 
00179                                      double* buff_T, int rs_T, int cs_T );
00180 FLA_Error FLA_Hess_UT_step_ofc_var1( int m_A,
00181                                      int m_T,
00182                                      scomplex* buff_A, int rs_A, int cs_A, 
00183                                      scomplex* buff_T, int rs_T, int cs_T );
00184 FLA_Error FLA_Hess_UT_step_ofz_var1( int m_A,
00185                                      int m_T,
00186                                      dcomplex* buff_A, int rs_A, int cs_A, 
00187                                      dcomplex* buff_T, int rs_T, int cs_T );
00188 
00189 
00190 FLA_Error FLA_Hess_UT_ofu_var2( FLA_Obj A, FLA_Obj T );
00191 FLA_Error FLA_Hess_UT_step_ofu_var2( FLA_Obj A, FLA_Obj T );
00192 FLA_Error FLA_Hess_UT_step_ofs_var2( int m_A,
00193                                      int m_T,
00194                                      float* buff_A, int rs_A, int cs_A, 
00195                                      float* buff_T, int rs_T, int cs_T );
00196 FLA_Error FLA_Hess_UT_step_ofd_var2( int m_A,
00197                                      int m_T,
00198                                      double* buff_A, int rs_A, int cs_A, 
00199                                      double* buff_T, int rs_T, int cs_T );
00200 FLA_Error FLA_Hess_UT_step_ofc_var2( int m_A,
00201                                      int m_T,
00202                                      scomplex* buff_A, int rs_A, int cs_A, 
00203                                      scomplex* buff_T, int rs_T, int cs_T );
00204 FLA_Error FLA_Hess_UT_step_ofz_var2( int m_A,
00205                                      int m_T,
00206                                      dcomplex* buff_A, int rs_A, int cs_A, 
00207                                      dcomplex* buff_T, int rs_T, int cs_T );
00208 
00209 
00210 FLA_Error FLA_Hess_UT_ofu_var3( FLA_Obj A, FLA_Obj T );
00211 FLA_Error FLA_Hess_UT_step_ofu_var3( FLA_Obj A, FLA_Obj T );
00212 FLA_Error FLA_Hess_UT_step_ofs_var3( int m_A,
00213                                      int m_T,
00214                                      float* buff_A, int rs_A, int cs_A, 
00215                                      float* buff_T, int rs_T, int cs_T );
00216 FLA_Error FLA_Hess_UT_step_ofd_var3( int m_A,
00217                                      int m_T,
00218                                      double* buff_A, int rs_A, int cs_A, 
00219                                      double* buff_T, int rs_T, int cs_T );
00220 FLA_Error FLA_Hess_UT_step_ofc_var3( int m_A,
00221                                      int m_T,
00222                                      scomplex* buff_A, int rs_A, int cs_A, 
00223                                      scomplex* buff_T, int rs_T, int cs_T );
00224 FLA_Error FLA_Hess_UT_step_ofz_var3( int m_A,
00225                                      int m_T,
00226                                      dcomplex* buff_A, int rs_A, int cs_A, 
00227                                      dcomplex* buff_T, int rs_T, int cs_T );
00228 
00229 
00230 FLA_Error FLA_Hess_UT_ofu_var4( FLA_Obj A, FLA_Obj T );
00231 FLA_Error FLA_Hess_UT_step_ofu_var4( FLA_Obj A, FLA_Obj Y, FLA_Obj Z, FLA_Obj T );
00232 FLA_Error FLA_Hess_UT_step_ofs_var4( int m_A,
00233                                      int m_T,
00234                                      float* buff_A, int rs_A, int cs_A, 
00235                                      float* buff_Y, int rs_Y, int cs_Y,
00236                                      float* buff_Z, int rs_Z, int cs_Z,
00237                                      float* buff_T, int rs_T, int cs_T );
00238 FLA_Error FLA_Hess_UT_step_ofd_var4( int m_A,
00239                                      int m_T,
00240                                      double* buff_A, int rs_A, int cs_A, 
00241                                      double* buff_Y, int rs_Y, int cs_Y,
00242                                      double* buff_Z, int rs_Z, int cs_Z,
00243                                      double* buff_T, int rs_T, int cs_T );
00244 FLA_Error FLA_Hess_UT_step_ofc_var4( int m_A,
00245                                      int m_T,
00246                                      scomplex* buff_A, int rs_A, int cs_A, 
00247                                      scomplex* buff_Y, int rs_Y, int cs_Y,
00248                                      scomplex* buff_Z, int rs_Z, int cs_Z,
00249                                      scomplex* buff_T, int rs_T, int cs_T );
00250 FLA_Error FLA_Hess_UT_step_ofz_var4( int m_A,
00251                                      int m_T,
00252                                      dcomplex* buff_A, int rs_A, int cs_A, 
00253                                      dcomplex* buff_Y, int rs_Y, int cs_Y,
00254                                      dcomplex* buff_Z, int rs_Z, int cs_Z,
00255                                      dcomplex* buff_T, int rs_T, int cs_T );
00256 
00257 
00258 // --- Fused operations --------------------------------------------------------
00259 
00260 FLA_Error FLA_Fused_Ahx_Ax_ops_var1( int m_A,
00261                                      int n_A,
00262                                      float* buff_A, int rs_A, int cs_A, 
00263                                      float* buff_x, int inc_x, 
00264                                      float* buff_v, int inc_v, 
00265                                      float* buff_w, int inc_w );
00266 FLA_Error FLA_Fused_Ahx_Ax_opd_var1( int m_A,
00267                                      int n_A,
00268                                      double* buff_A, int rs_A, int cs_A, 
00269                                      double* buff_x, int inc_x, 
00270                                      double* buff_v, int inc_v, 
00271                                      double* buff_w, int inc_w );
00272 FLA_Error FLA_Fused_Ahx_Ax_opc_var1( int m_A,
00273                                      int n_A,
00274                                      scomplex* buff_A, int rs_A, int cs_A, 
00275                                      scomplex* buff_x, int inc_x, 
00276                                      scomplex* buff_v, int inc_v, 
00277                                      scomplex* buff_w, int inc_w );
00278 FLA_Error FLA_Fused_Ahx_Ax_opz_var1( int m_A,
00279                                      int n_A,
00280                                      dcomplex* buff_A, int rs_A, int cs_A, 
00281                                      dcomplex* buff_x, int inc_x, 
00282                                      dcomplex* buff_v, int inc_v, 
00283                                      dcomplex* buff_w, int inc_w );
00284 
00285 
00286 FLA_Error FLA_Fused_Gerc2_Ahx_Ax_ops_var1( int m_A,
00287                                            int n_A,
00288                                            float* buff_alpha, 
00289                                            float* buff_u, int inc_u, 
00290                                            float* buff_y, int inc_y, 
00291                                            float* buff_z, int inc_z, 
00292                                            float* buff_A, int rs_A, int cs_A, 
00293                                            float* buff_x, int inc_x, 
00294                                            float* buff_v, int inc_v, 
00295                                            float* buff_w, int inc_w );
00296 FLA_Error FLA_Fused_Gerc2_Ahx_Ax_opd_var1( int m_A,
00297                                            int n_A,
00298                                            double* buff_alpha, 
00299                                            double* buff_u, int inc_u, 
00300                                            double* buff_y, int inc_y, 
00301                                            double* buff_z, int inc_z, 
00302                                            double* buff_A, int rs_A, int cs_A, 
00303                                            double* buff_x, int inc_x, 
00304                                            double* buff_v, int inc_v, 
00305                                            double* buff_w, int inc_w );
00306 FLA_Error FLA_Fused_Gerc2_Ahx_Ax_opc_var1( int m_A,
00307                                            int n_A,
00308                                            scomplex* buff_alpha, 
00309                                            scomplex* buff_u, int inc_u, 
00310                                            scomplex* buff_y, int inc_y, 
00311                                            scomplex* buff_z, int inc_z, 
00312                                            scomplex* buff_A, int rs_A, int cs_A, 
00313                                            scomplex* buff_x, int inc_x, 
00314                                            scomplex* buff_v, int inc_v, 
00315                                            scomplex* buff_w, int inc_w );
00316 FLA_Error FLA_Fused_Gerc2_Ahx_Ax_opz_var1( int m_A,
00317                                            int n_A,
00318                                            dcomplex* buff_alpha, 
00319                                            dcomplex* buff_u, int inc_u, 
00320                                            dcomplex* buff_y, int inc_y, 
00321                                            dcomplex* buff_z, int inc_z, 
00322                                            dcomplex* buff_A, int rs_A, int cs_A, 
00323                                            dcomplex* buff_x, int inc_x, 
00324                                            dcomplex* buff_v, int inc_v, 
00325                                            dcomplex* buff_w, int inc_w );
00326 
00327 
00328 FLA_Error FLA_Fused_Gemv_Uhu_Yhu_Zhu_ops_var1( int m_U,
00329                                                int n_U,
00330                                                float* buff_delta,
00331                                                float* buff_U, int rs_U, int cs_U,
00332                                                float* buff_Y, int rs_Y, int cs_Y,
00333                                                float* buff_Z, int rs_Z, int cs_Z,
00334                                                float* buff_u, int inc_u,
00335                                                float* buff_y, int inc_y,
00336                                                float* buff_z, int inc_z );
00337 FLA_Error FLA_Fused_Gemv_Uhu_Yhu_Zhu_opd_var1( int m_U,
00338                                                int n_U,
00339                                                double* buff_delta,
00340                                                double* buff_U, int rs_U, int cs_U,
00341                                                double* buff_Y, int rs_Y, int cs_Y,
00342                                                double* buff_Z, int rs_Z, int cs_Z,
00343                                                double* buff_u, int inc_u,
00344                                                double* buff_y, int inc_y,
00345                                                double* buff_z, int inc_z );
00346 FLA_Error FLA_Fused_Gemv_Uhu_Yhu_Zhu_opc_var1( int m_U,
00347                                                int n_U,
00348                                                scomplex* buff_delta,
00349                                                scomplex* buff_U, int rs_U, int cs_U,
00350                                                scomplex* buff_Y, int rs_Y, int cs_Y,
00351                                                scomplex* buff_Z, int rs_Z, int cs_Z,
00352                                                scomplex* buff_u, int inc_u,
00353                                                scomplex* buff_y, int inc_y,
00354                                                scomplex* buff_z, int inc_z );
00355 FLA_Error FLA_Fused_Gemv_Uhu_Yhu_Zhu_opz_var1( int m_U,
00356                                                int n_U,
00357                                                dcomplex* buff_delta,
00358                                                dcomplex* buff_U, int rs_U, int cs_U,
00359                                                dcomplex* buff_Y, int rs_Y, int cs_Y,
00360                                                dcomplex* buff_Z, int rs_Z, int cs_Z,
00361                                                dcomplex* buff_u, int inc_u,
00362                                                dcomplex* buff_y, int inc_y,
00363                                                dcomplex* buff_z, int inc_z );
00364