PLASMA  2.4.5
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
zgetmi.c
Go to the documentation of this file.
1 
21 #include <stdlib.h>
22 #include <sys/types.h>
23 #include "common.h"
24 
59 int PLASMA_zgetmi(int m, int n, PLASMA_Complex64_t *A, PLASMA_enum f_in, int imb, int inb)
60 {
62  PLASMA_sequence *sequence = NULL;
64  int status;
65 
66  plasma = plasma_context_self();
67  if (plasma == NULL) {
68  plasma_fatal_error(__func__, "PLASMA not initialized");
70  }
71 
72  plasma_sequence_create(plasma, &sequence);
73 
74  PLASMA_zgetmi_Async( m, n, A,
75  f_in, imb, inb,
76  sequence, &request);
78  status = sequence->status;
79  plasma_sequence_destroy(plasma, sequence);
80 
81  return status;
82 }
83 
125 int PLASMA_zgetmi_Async(int m, int n, PLASMA_Complex64_t *A, PLASMA_enum f_in, int mb, int nb,
126  PLASMA_sequence *sequence, PLASMA_request *request)
127 {
128  /* convert */
129  switch ( f_in ) {
130  case PlasmaCM :
131  PLASMA_zgecfi_Async(m, n, A, PlasmaCM, mb, nb, PlasmaRM, nb, mb, sequence, request);
132  break;
133  case PlasmaCCRB :
134  PLASMA_zgecfi_Async(m, n, A, PlasmaCCRB, mb, nb, PlasmaRRRB, nb, mb, sequence, request);
135  break;
136  case PlasmaCRRB :
137  PLASMA_zgecfi_Async(m, n, A, PlasmaCRRB, mb, nb, PlasmaRCRB, nb, mb, sequence, request);
138  break;
139  case PlasmaRCRB :
140  PLASMA_zgecfi_Async(m, n, A, PlasmaRCRB, mb, nb, PlasmaCRRB, nb, mb, sequence, request);
141  break;
142  case PlasmaRRRB :
143  PLASMA_zgecfi_Async(m, n, A, PlasmaRRRB, mb, nb, PlasmaCCRB, nb, mb, sequence, request);
144  break;
145  case PlasmaRM :
146  PLASMA_zgecfi_Async(m, n, A, PlasmaRM, mb, nb, PlasmaCM, nb, mb, sequence, request);
147  break;
148  default:
149  plasma_error(__func__, "unknown format");
150  }
151  return PLASMA_SUCCESS;
152 }