私はサイズ16000 * 16000の対角線で支配的な行列を持っています。私はこの行列の最初のn行とn列を抽出したいと思います(例えば最初の100 * 100セル)抽出された行列はまだそれを行うために、対角dominant.Myの試みになるようである:行列がランダムに生成されるので、オフセットが固定されていないので、これは動作しません特定のオフセットでC++でテキストファイルを読む
#include <stdio.h>
#include <string.h>
#include <mpi.h>
#include <stdlib.h>
int main()
{
double **Matrix_A;
FILE *fp;
int global_size = 100;
int offset = 0;
if ((fp = fopen ("matrix_16000.txt", "r")) == NULL) {
printf("Can't open input matrix file");
exit(-1);
}
Matrix_A = (double **) malloc(global_size*sizeof(double *));
for(int irow = 0; irow < global_size; irow++)
{
offset = irow * 16000;
fseek(fp, offset, SEEK_SET);
Matrix_A[irow] = (double *) malloc(global_size * sizeof(double));
for(int icol = 0; icol < global_size; icol++){
fscanf(fp, "%lf", &Matrix_A[irow][icol]);
}
}
fclose(fp);
return 0;
}
。私のコンパイラがmpiccであることを知っていれば、より良いアイディアです
mpiccのは、コンパイラ、コンパイラの数の1周りのラッパーをイマイチ...これはまた、最小限のコンパイル例 – Vality
をイマイチコードは非常に長いです。これはただでありますエキス。私のコードを実行するとき、私はちょうどデフォルトのオプションでmpiccコマンドを使用します。 – Nawal
@Nawalだから、**製造** [mcve]。私たちが使うことのできる例を作るのに迷惑をかけることさえできないのであれば、私たちはあなたを助けるのに時間を投資すべきですか? –