libflame
revision_anchor
|
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_blk_var1( FLA_Obj A, FLA_Obj T ); 00034 FLA_Error FLA_Hess_UT_unb_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_blk_var2( FLA_Obj A, FLA_Obj T ); 00038 FLA_Error FLA_Hess_UT_blf_var2( FLA_Obj A, FLA_Obj T ); 00039 FLA_Error FLA_Hess_UT_unb_var2( FLA_Obj A, FLA_Obj T ); 00040 FLA_Error FLA_Hess_UT_step_unb_var2( FLA_Obj A, FLA_Obj T ); 00041 00042 FLA_Error FLA_Hess_UT_blk_var3( FLA_Obj A, FLA_Obj T ); 00043 FLA_Error FLA_Hess_UT_blf_var3( FLA_Obj A, FLA_Obj T ); 00044 FLA_Error FLA_Hess_UT_unb_var3( FLA_Obj A, FLA_Obj T ); 00045 FLA_Error FLA_Hess_UT_step_unb_var3( FLA_Obj A, FLA_Obj T ); 00046 00047 FLA_Error FLA_Hess_UT_blk_var4( FLA_Obj A, FLA_Obj T ); 00048 FLA_Error FLA_Hess_UT_blf_var4( FLA_Obj A, FLA_Obj T ); 00049 FLA_Error FLA_Hess_UT_unb_var4( FLA_Obj A, FLA_Obj T ); 00050 FLA_Error FLA_Hess_UT_step_unb_var4( FLA_Obj A, FLA_Obj Y, FLA_Obj Z, FLA_Obj T ); 00051 00052 FLA_Error FLA_Hess_UT_blk_var5( FLA_Obj A, FLA_Obj T ); 00053 FLA_Error FLA_Hess_UT_unb_var5( FLA_Obj A, FLA_Obj T ); 00054 FLA_Error FLA_Hess_UT_step_unb_var5( FLA_Obj A, FLA_Obj U, FLA_Obj Z, FLA_Obj T ); 00055 00056 00057 FLA_Error FLA_Hess_UT_opt_var1( FLA_Obj A, FLA_Obj T ); 00058 FLA_Error FLA_Hess_UT_step_opt_var1( FLA_Obj A, FLA_Obj T ); 00059 FLA_Error FLA_Hess_UT_step_ops_var1( int m_A, 00060 int m_T, 00061 float* buff_A, int rs_A, int cs_A, 00062 float* buff_T, int rs_T, int cs_T ); 00063 FLA_Error FLA_Hess_UT_step_opd_var1( int m_A, 00064 int m_T, 00065 double* buff_A, int rs_A, int cs_A, 00066 double* buff_T, int rs_T, int cs_T ); 00067 FLA_Error FLA_Hess_UT_step_opc_var1( int m_A, 00068 int m_T, 00069 scomplex* buff_A, int rs_A, int cs_A, 00070 scomplex* buff_T, int rs_T, int cs_T ); 00071 FLA_Error FLA_Hess_UT_step_opz_var1( int m_A, 00072 int m_T, 00073 dcomplex* buff_A, int rs_A, int cs_A, 00074 dcomplex* buff_T, int rs_T, int cs_T ); 00075 00076 00077 FLA_Error FLA_Hess_UT_opt_var2( FLA_Obj A, FLA_Obj T ); 00078 FLA_Error FLA_Hess_UT_step_opt_var2( FLA_Obj A, FLA_Obj T ); 00079 FLA_Error FLA_Hess_UT_step_ops_var2( int m_A, 00080 int m_T, 00081 float* buff_A, int rs_A, int cs_A, 00082 float* buff_T, int rs_T, int cs_T ); 00083 FLA_Error FLA_Hess_UT_step_opd_var2( int m_A, 00084 int m_T, 00085 double* buff_A, int rs_A, int cs_A, 00086 double* buff_T, int rs_T, int cs_T ); 00087 FLA_Error FLA_Hess_UT_step_opc_var2( int m_A, 00088 int m_T, 00089 scomplex* buff_A, int rs_A, int cs_A, 00090 scomplex* buff_T, int rs_T, int cs_T ); 00091 FLA_Error FLA_Hess_UT_step_opz_var2( int m_A, 00092 int m_T, 00093 dcomplex* buff_A, int rs_A, int cs_A, 00094 dcomplex* buff_T, int rs_T, int cs_T ); 00095 00096 00097 FLA_Error FLA_Hess_UT_opt_var3( FLA_Obj A, FLA_Obj T ); 00098 FLA_Error FLA_Hess_UT_step_opt_var3( FLA_Obj A, FLA_Obj T ); 00099 FLA_Error FLA_Hess_UT_step_ops_var3( int m_A, 00100 int m_T, 00101 float* buff_A, int rs_A, int cs_A, 00102 float* buff_T, int rs_T, int cs_T ); 00103 FLA_Error FLA_Hess_UT_step_opd_var3( int m_A, 00104 int m_T, 00105 double* buff_A, int rs_A, int cs_A, 00106 double* buff_T, int rs_T, int cs_T ); 00107 FLA_Error FLA_Hess_UT_step_opc_var3( int m_A, 00108 int m_T, 00109 scomplex* buff_A, int rs_A, int cs_A, 00110 scomplex* buff_T, int rs_T, int cs_T ); 00111 FLA_Error FLA_Hess_UT_step_opz_var3( int m_A, 00112 int m_T, 00113 dcomplex* buff_A, int rs_A, int cs_A, 00114 dcomplex* buff_T, int rs_T, int cs_T ); 00115 00116 00117 FLA_Error FLA_Hess_UT_opt_var4( FLA_Obj A, FLA_Obj T ); 00118 FLA_Error FLA_Hess_UT_step_opt_var4( FLA_Obj A, FLA_Obj Y, FLA_Obj Z, FLA_Obj T ); 00119 FLA_Error FLA_Hess_UT_step_ops_var4( int m_A, 00120 int m_T, 00121 float* buff_A, int rs_A, int cs_A, 00122 float* buff_Y, int rs_Y, int cs_Y, 00123 float* buff_Z, int rs_Z, int cs_Z, 00124 float* buff_T, int rs_T, int cs_T ); 00125 FLA_Error FLA_Hess_UT_step_opd_var4( int m_A, 00126 int m_T, 00127 double* buff_A, int rs_A, int cs_A, 00128 double* buff_Y, int rs_Y, int cs_Y, 00129 double* buff_Z, int rs_Z, int cs_Z, 00130 double* buff_T, int rs_T, int cs_T ); 00131 FLA_Error FLA_Hess_UT_step_opc_var4( int m_A, 00132 int m_T, 00133 scomplex* buff_A, int rs_A, int cs_A, 00134 scomplex* buff_Y, int rs_Y, int cs_Y, 00135 scomplex* buff_Z, int rs_Z, int cs_Z, 00136 scomplex* buff_T, int rs_T, int cs_T ); 00137 FLA_Error FLA_Hess_UT_step_opz_var4( int m_A, 00138 int m_T, 00139 dcomplex* buff_A, int rs_A, int cs_A, 00140 dcomplex* buff_Y, int rs_Y, int cs_Y, 00141 dcomplex* buff_Z, int rs_Z, int cs_Z, 00142 dcomplex* buff_T, int rs_T, int cs_T ); 00143 00144 00145 FLA_Error FLA_Hess_UT_opt_var5( FLA_Obj A, FLA_Obj T ); 00146 FLA_Error FLA_Hess_UT_step_opt_var5( FLA_Obj A, FLA_Obj U, FLA_Obj Z, FLA_Obj T ); 00147 FLA_Error FLA_Hess_UT_step_ops_var5( int m_A, 00148 int m_T, 00149 float* buff_A, int rs_A, int cs_A, 00150 float* buff_U, int rs_U, int cs_U, 00151 float* buff_Z, int rs_Z, int cs_Z, 00152 float* buff_T, int rs_T, int cs_T ); 00153 FLA_Error FLA_Hess_UT_step_opd_var5( int m_A, 00154 int m_T, 00155 double* buff_A, int rs_A, int cs_A, 00156 double* buff_U, int rs_U, int cs_U, 00157 double* buff_Z, int rs_Z, int cs_Z, 00158 double* buff_T, int rs_T, int cs_T ); 00159 FLA_Error FLA_Hess_UT_step_opc_var5( int m_A, 00160 int m_T, 00161 scomplex* buff_A, int rs_A, int cs_A, 00162 scomplex* buff_U, int rs_U, int cs_U, 00163 scomplex* buff_Z, int rs_Z, int cs_Z, 00164 scomplex* buff_T, int rs_T, int cs_T ); 00165 FLA_Error FLA_Hess_UT_step_opz_var5( int m_A, 00166 int m_T, 00167 dcomplex* buff_A, int rs_A, int cs_A, 00168 dcomplex* buff_U, int rs_U, int cs_U, 00169 dcomplex* buff_Z, int rs_Z, int cs_Z, 00170 dcomplex* buff_T, int rs_T, int cs_T ); 00171 00172 00173 FLA_Error FLA_Hess_UT_ofu_var1( FLA_Obj A, FLA_Obj T ); 00174 FLA_Error FLA_Hess_UT_step_ofu_var1( FLA_Obj A, FLA_Obj T ); 00175 FLA_Error FLA_Hess_UT_step_ofs_var1( int m_A, 00176 int m_T, 00177 float* buff_A, int rs_A, int cs_A, 00178 float* buff_T, int rs_T, int cs_T ); 00179 FLA_Error FLA_Hess_UT_step_ofd_var1( int m_A, 00180 int m_T, 00181 double* buff_A, int rs_A, int cs_A, 00182 double* buff_T, int rs_T, int cs_T ); 00183 FLA_Error FLA_Hess_UT_step_ofc_var1( int m_A, 00184 int m_T, 00185 scomplex* buff_A, int rs_A, int cs_A, 00186 scomplex* buff_T, int rs_T, int cs_T ); 00187 FLA_Error FLA_Hess_UT_step_ofz_var1( int m_A, 00188 int m_T, 00189 dcomplex* buff_A, int rs_A, int cs_A, 00190 dcomplex* buff_T, int rs_T, int cs_T ); 00191 00192 00193 FLA_Error FLA_Hess_UT_ofu_var2( FLA_Obj A, FLA_Obj T ); 00194 FLA_Error FLA_Hess_UT_step_ofu_var2( FLA_Obj A, FLA_Obj T ); 00195 FLA_Error FLA_Hess_UT_step_ofs_var2( int m_A, 00196 int m_T, 00197 float* buff_A, int rs_A, int cs_A, 00198 float* buff_T, int rs_T, int cs_T ); 00199 FLA_Error FLA_Hess_UT_step_ofd_var2( int m_A, 00200 int m_T, 00201 double* buff_A, int rs_A, int cs_A, 00202 double* buff_T, int rs_T, int cs_T ); 00203 FLA_Error FLA_Hess_UT_step_ofc_var2( int m_A, 00204 int m_T, 00205 scomplex* buff_A, int rs_A, int cs_A, 00206 scomplex* buff_T, int rs_T, int cs_T ); 00207 FLA_Error FLA_Hess_UT_step_ofz_var2( int m_A, 00208 int m_T, 00209 dcomplex* buff_A, int rs_A, int cs_A, 00210 dcomplex* buff_T, int rs_T, int cs_T ); 00211 00212 00213 FLA_Error FLA_Hess_UT_ofu_var3( FLA_Obj A, FLA_Obj T ); 00214 FLA_Error FLA_Hess_UT_step_ofu_var3( FLA_Obj A, FLA_Obj T ); 00215 FLA_Error FLA_Hess_UT_step_ofs_var3( int m_A, 00216 int m_T, 00217 float* buff_A, int rs_A, int cs_A, 00218 float* buff_T, int rs_T, int cs_T ); 00219 FLA_Error FLA_Hess_UT_step_ofd_var3( int m_A, 00220 int m_T, 00221 double* buff_A, int rs_A, int cs_A, 00222 double* buff_T, int rs_T, int cs_T ); 00223 FLA_Error FLA_Hess_UT_step_ofc_var3( int m_A, 00224 int m_T, 00225 scomplex* buff_A, int rs_A, int cs_A, 00226 scomplex* buff_T, int rs_T, int cs_T ); 00227 FLA_Error FLA_Hess_UT_step_ofz_var3( int m_A, 00228 int m_T, 00229 dcomplex* buff_A, int rs_A, int cs_A, 00230 dcomplex* buff_T, int rs_T, int cs_T ); 00231 00232 00233 FLA_Error FLA_Hess_UT_ofu_var4( FLA_Obj A, FLA_Obj T ); 00234 FLA_Error FLA_Hess_UT_step_ofu_var4( FLA_Obj A, FLA_Obj Y, FLA_Obj Z, FLA_Obj T ); 00235 FLA_Error FLA_Hess_UT_step_ofs_var4( int m_A, 00236 int m_T, 00237 float* buff_A, int rs_A, int cs_A, 00238 float* buff_Y, int rs_Y, int cs_Y, 00239 float* buff_Z, int rs_Z, int cs_Z, 00240 float* buff_T, int rs_T, int cs_T ); 00241 FLA_Error FLA_Hess_UT_step_ofd_var4( int m_A, 00242 int m_T, 00243 double* buff_A, int rs_A, int cs_A, 00244 double* buff_Y, int rs_Y, int cs_Y, 00245 double* buff_Z, int rs_Z, int cs_Z, 00246 double* buff_T, int rs_T, int cs_T ); 00247 FLA_Error FLA_Hess_UT_step_ofc_var4( int m_A, 00248 int m_T, 00249 scomplex* buff_A, int rs_A, int cs_A, 00250 scomplex* buff_Y, int rs_Y, int cs_Y, 00251 scomplex* buff_Z, int rs_Z, int cs_Z, 00252 scomplex* buff_T, int rs_T, int cs_T ); 00253 FLA_Error FLA_Hess_UT_step_ofz_var4( int m_A, 00254 int m_T, 00255 dcomplex* buff_A, int rs_A, int cs_A, 00256 dcomplex* buff_Y, int rs_Y, int cs_Y, 00257 dcomplex* buff_Z, int rs_Z, int cs_Z, 00258 dcomplex* buff_T, int rs_T, int cs_T ); 00259 00260 00261 // --- Fused operations -------------------------------------------------------- 00262 00263 FLA_Error FLA_Fused_Ahx_Ax_ops_var1( int m_A, 00264 int n_A, 00265 float* buff_A, int rs_A, int cs_A, 00266 float* buff_x, int inc_x, 00267 float* buff_v, int inc_v, 00268 float* buff_w, int inc_w ); 00269 FLA_Error FLA_Fused_Ahx_Ax_opd_var1( int m_A, 00270 int n_A, 00271 double* buff_A, int rs_A, int cs_A, 00272 double* buff_x, int inc_x, 00273 double* buff_v, int inc_v, 00274 double* buff_w, int inc_w ); 00275 FLA_Error FLA_Fused_Ahx_Ax_opc_var1( int m_A, 00276 int n_A, 00277 scomplex* buff_A, int rs_A, int cs_A, 00278 scomplex* buff_x, int inc_x, 00279 scomplex* buff_v, int inc_v, 00280 scomplex* buff_w, int inc_w ); 00281 FLA_Error FLA_Fused_Ahx_Ax_opz_var1( int m_A, 00282 int n_A, 00283 dcomplex* buff_A, int rs_A, int cs_A, 00284 dcomplex* buff_x, int inc_x, 00285 dcomplex* buff_v, int inc_v, 00286 dcomplex* buff_w, int inc_w ); 00287 00288 00289 FLA_Error FLA_Fused_Gerc2_Ahx_Ax_ops_var1( int m_A, 00290 int n_A, 00291 float* buff_alpha, 00292 float* buff_u, int inc_u, 00293 float* buff_y, int inc_y, 00294 float* buff_z, int inc_z, 00295 float* buff_A, int rs_A, int cs_A, 00296 float* buff_x, int inc_x, 00297 float* buff_v, int inc_v, 00298 float* buff_w, int inc_w ); 00299 FLA_Error FLA_Fused_Gerc2_Ahx_Ax_opd_var1( int m_A, 00300 int n_A, 00301 double* buff_alpha, 00302 double* buff_u, int inc_u, 00303 double* buff_y, int inc_y, 00304 double* buff_z, int inc_z, 00305 double* buff_A, int rs_A, int cs_A, 00306 double* buff_x, int inc_x, 00307 double* buff_v, int inc_v, 00308 double* buff_w, int inc_w ); 00309 FLA_Error FLA_Fused_Gerc2_Ahx_Ax_opc_var1( int m_A, 00310 int n_A, 00311 scomplex* buff_alpha, 00312 scomplex* buff_u, int inc_u, 00313 scomplex* buff_y, int inc_y, 00314 scomplex* buff_z, int inc_z, 00315 scomplex* buff_A, int rs_A, int cs_A, 00316 scomplex* buff_x, int inc_x, 00317 scomplex* buff_v, int inc_v, 00318 scomplex* buff_w, int inc_w ); 00319 FLA_Error FLA_Fused_Gerc2_Ahx_Ax_opz_var1( int m_A, 00320 int n_A, 00321 dcomplex* buff_alpha, 00322 dcomplex* buff_u, int inc_u, 00323 dcomplex* buff_y, int inc_y, 00324 dcomplex* buff_z, int inc_z, 00325 dcomplex* buff_A, int rs_A, int cs_A, 00326 dcomplex* buff_x, int inc_x, 00327 dcomplex* buff_v, int inc_v, 00328 dcomplex* buff_w, int inc_w ); 00329 00330 00331 FLA_Error FLA_Fused_Uhu_Yhu_Zhu_ops_var1( int m_U, 00332 int n_U, 00333 float* buff_delta, 00334 float* buff_U, int rs_U, int cs_U, 00335 float* buff_Y, int rs_Y, int cs_Y, 00336 float* buff_Z, int rs_Z, int cs_Z, 00337 float* buff_t, int inc_t, 00338 float* buff_u, int inc_u, 00339 float* buff_y, int inc_y, 00340 float* buff_z, int inc_z ); 00341 FLA_Error FLA_Fused_Uhu_Yhu_Zhu_opd_var1( int m_U, 00342 int n_U, 00343 double* buff_delta, 00344 double* buff_U, int rs_U, int cs_U, 00345 double* buff_Y, int rs_Y, int cs_Y, 00346 double* buff_Z, int rs_Z, int cs_Z, 00347 double* buff_t, int inc_t, 00348 double* buff_u, int inc_u, 00349 double* buff_y, int inc_y, 00350 double* buff_z, int inc_z ); 00351 FLA_Error FLA_Fused_Uhu_Yhu_Zhu_opc_var1( int m_U, 00352 int n_U, 00353 scomplex* buff_delta, 00354 scomplex* buff_U, int rs_U, int cs_U, 00355 scomplex* buff_Y, int rs_Y, int cs_Y, 00356 scomplex* buff_Z, int rs_Z, int cs_Z, 00357 scomplex* buff_t, int inc_t, 00358 scomplex* buff_u, int inc_u, 00359 scomplex* buff_y, int inc_y, 00360 scomplex* buff_z, int inc_z ); 00361 FLA_Error FLA_Fused_Uhu_Yhu_Zhu_opz_var1( int m_U, 00362 int n_U, 00363 dcomplex* buff_delta, 00364 dcomplex* buff_U, int rs_U, int cs_U, 00365 dcomplex* buff_Y, int rs_Y, int cs_Y, 00366 dcomplex* buff_Z, int rs_Z, int cs_Z, 00367 dcomplex* buff_t, int inc_t, 00368 dcomplex* buff_u, int inc_u, 00369 dcomplex* buff_y, int inc_y, 00370 dcomplex* buff_z, int inc_z ); 00371