host: fix write_populations().
authorSebastian <git@sraa.de>
Mon, 28 Jul 2014 14:33:53 +0000 (14:33 +0000)
committerSebastian <git@sraa.de>
Mon, 28 Jul 2014 14:33:53 +0000 (14:33 +0000)
lb/hsrc/data.c
lb/hsrc/main.c

index a0482a74dc061ea891730c3726f43554a0c495b5..675fe50507b224ad1a8ce62c83dea730dd79e3a2 100644 (file)
@@ -21,8 +21,7 @@ void fixsudo(const char *filename)
 
 
 /* write a (semi-) human-readable dump of the lattice */
-void write_populations(d2q9_block_t lattice[CORES_Y][CORES_X],
-       int core_x, int core_y, int iter)
+void write_populations(d2q9_block_t lattice[CORES_Y][CORES_X], int iter)
 {
        FILE *file = fopen("populations.dat", "a");
        if(!file) {
@@ -30,13 +29,21 @@ void write_populations(d2q9_block_t lattice[CORES_Y][CORES_X],
                return;
        }
 
-       for(int y = 0; y < BLOCK_Y; y++) {
-               for(int x = 0; x < BLOCK_X; x++) {
-                       fprintf(file, "%03d: [%02d,%02d]: ", iter, x, y);
-                       for(int q = 0; q < 9; q++) {
-                               fprintf(file, "%.5f\t", lattice[core_y][core_x][y][x][q]);
+       for(int cy = 0; cy < CORES_Y; cy++) {
+               for(int y = 0; y < BLOCK_Y; y++) {
+                       for(int cx = 0; cx < CORES_X; cx++) {
+                               for(int x = 0; x < BLOCK_X; x++) {
+                                       fprintf(file, "%3d: [%3d,%3d]: ",
+                                               iter,
+                                               cx * BLOCK_X + x,
+                                               cy * BLOCK_Y + y
+                                       );
+                                       for(int q = 0; q < 9; q++) {
+                                               fprintf(file, "%.5f ", lattice[cy][cx][y][x][q]);
+                                       }
+                                       fprintf(file, "\n");
+                               }
                        }
-                       fprintf(file, "\n");
                }
        }
        fprintf(file, "\n");
index 41ec1b14855116045140d31a149fdacc589fb7c7..72798916360de1712a2af3092111a46a33260384 100644 (file)
@@ -14,7 +14,7 @@
 
 /* helper functions */
 void fixsudo(const char *filename);
-void write_populations(d2q9_block_t lattice[CORES_Y][CORES_X], int core_x, int core_y, int iter);
+void write_populations(d2q9_block_t lattice[CORES_Y][CORES_X], int iter);
 void write_image(d2q9_block_t lattice[CORES_Y][CORES_X], int iter);
 void write_animation(void);
 void write_timers(uint32_t timers[CORES_Y][CORES_X][TIMERS], uint32_t iter);
@@ -103,7 +103,7 @@ int main()
                /* write data */
                static uint32_t old0 = -1;
                if(states[0][0] != old0) {
-                       write_populations(shm.lattice, 0, 0, states[0][0]);
+                       write_populations(shm.lattice, states[0][0]);
                        write_image(shm.lattice, states[0][0]);
                        write_timers(shm.timers, states[0][0]);
                        old0 = states[0][0];