Feeds:
Posts
Comments

Archive for the ‘Parallel computing’ Category

Share dari teman... tak simpen dulu, siapa tahu besok butuh :D

#include "mpi.h"
#include <stdio.h>
#define SIZE 16
#define UP    0
#define DOWN  1
#define LEFT  2
#define RIGHT 3

int main(argc,argv)
int argc;
char *argv[];  {
int numtasks, rank, source, dest, outbuf, i, tag=1,
   inbuf[4]={MPI_PROC_NULL,MPI_PROC_NULL,MPI_PROC_NULL,MPI_PROC_NULL,},
   nbrs[4], dims[2]={4,4},
   periods[2]={0,0}, reorder=0, coords[2];

MPI_Request reqs[8];
MPI_Status stats[8];
MPI_Comm cartcomm;

MPI_Init(&argc,&argv);
MPI_Comm_size(MPI_COMM_WORLD, &numtasks);

if (numtasks == SIZE) {
  MPI_Cart_create(MPI_COMM_WORLD, 2, dims, periods, reorder, &cartcomm);
  MPI_Comm_rank(cartcomm, &rank);
  MPI_Cart_coords(cartcomm, rank, 2, coords);
  MPI_Cart_shift(cartcomm, 0, 1, &nbrs[UP], &nbrs[DOWN]);
  MPI_Cart_shift(cartcomm, 1, 1, &nbrs[LEFT], &nbrs[RIGHT]);

  outbuf = rank;

  for (i=0; i<4; i++) {
     dest = nbrs[i];
     source = nbrs[i];
     MPI_Isend(&outbuf, 1, MPI_INT, dest, tag,
               MPI_COMM_WORLD, &reqs[i]);
     MPI_Irecv(&inbuf[i], 1, MPI_INT, source, tag, 

 MPI_COMM_WORLD, &reqs[i+4]);
     }

  MPI_Waitall(8, reqs, stats);

  printf("rank= %d coords= %d %d  neighbors(u,d,l,r)= %d %d %d %d\n",
        rank,coords[0],coords[1],nbrs[UP],nbrs[DOWN],nbrs[LEFT],
        nbrs[RIGHT]);
  printf("rank= %d                 inbuf(u,d,l,r)= %d %d %d %d\n",
        rank,inbuf[UP],inbuf[DOWN],inbuf[LEFT],inbuf[RIGHT]);
  }
else
  printf("Must specify %d processors. Terminating.\n",SIZE);

MPI_Finalize();
}

Read Full Post »

Algoritma Pencarian String (String Matching) —————————————— bahan ajar  Ir. Rinaldi Munir, M.T.

  • Pencarian string di dalam teks disebut juga pencocokan string (string matching atau pattern matching).
  • Persoalan pencarian string dirumuskan sebagai berikut:

Diberikan:

  1. teks (text), yaitu (long) string yang panjangnya n karakter
  2. pattern, yaitu string dengan panjang m karakter (m < n) yang akan dicari di dalam teks.

Carilah (find atau locate) lokasi pertama di dalam teks yang bersesuaian dengan pattern. Aplikasi dari masalah pencocokan string antara lain pencarian suatu kata di dalam dokumen (misalnya menu Find di dalam Microsoft Word).

(more…)

Read Full Post »

Soal di buku Quinn, Michael J. 2003. Parallel Programming in C with MPI and OpenMP

Share dong penyelesaian permasalahan berikut ini 😀

(3.15)     Diberikan suatu array dengan n buah input, yang masing-masing berisikan koordinat x dan y dari suatu rumah, jika diberikan titik koordinat x dan y lain yang merupakan stasiun relkereta, maka :

  1. Desain lah suatu algoritma paralel untuk mencari rumah mana saja yang dekat dengan stasiun kereta
  2. Gambarkan dua diagram task/kanal, dimana yang pertama merupakan proses primitif sedangkan yang kedua menggambarkan proses aglomerasi

(more…)

Read Full Post »

This is a step-by-step guide for you to write MPI program using MS-MPI and Visual Studio 2008. I want to introduce MS-MPI as many of my blog posts will be related to parallelism both shared memory and distributed in C/C++ and C#. You can use any OS to write, compile and test MPI program and in additional to that, and of course you also need:

– HPC Pack SDK 2008
– VC++ Compiler and IDE (VC++ 2008 Express is okay)

(more…)

Read Full Post »