²é¿´: 2537  |  »Ø¸´: 8

mhyuan

½ð³æ (СÓÐÃûÆø)

[ÇóÖú] ¹ØÓÚMPI²¢Ðбà³ÌµÄ»ù±¾ÎÊÌâ

ÏëÒª×ÔѧMPI²¢Ðбà³Ì£¬ÓÉÓÚÒÔǰ´Óδ½Ó´¥¹ýMPI£¬ÓÐÊìϤµÄÏ£ÍûÄܰï¸ö棬¶àл¡£

ÎÒÏÖÔÚµÄÏëÒªµÄÊÇ£¬¸øÎÒ¾ÙÒ»¸öMPIµÄʵ¼ÊÀý×Ó£¬ÏÂÃæÊÇÎÒдµÄÒ»¸ö¼òµ¥µÄFortran³ÌÐò£¬ÊǹØÓÚ¼ÆËãÁ½¸öÊý×éÏà³ËµÄ¡£³ÌÐò²»ÊǺܸ´ÔÓ£¬Ï£ÍûÊìϤMPIµÄÐֵܽãÃðïÎҸıà³ÉMPI²¢ÐгÌÐò£¬²¢Ïêϸ˵Ã÷Ò»ÏÂÈçºÎÔËÐУ¨ÓÉÓÚ³õѧMPI£¬¶ÔÕâ·½ÃæµÄ֪ʶ»¹´¦ÓÚ¿Õ°×״̬£©£¬Ï£ÍûÓÐÈ˰ïæ£¬²»Ê¤¸Ð¼¤£¡

  Program Matrix
  Implicit None
  Integer :: I,J,K
  Integer :: A(4,4),B(4,4),C(4,4)
  Data A/1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7/
  Data B/9,8,7,6,5,4,3,2,1,9,8,7,6,5,4,3/
  Do I=1,4
    Do J=1,4
      C(I,J)=0
      Do k=1,4
        C(I,J)=C(I,J)+A(I,K)*B(K,J)
      Enddo
    Enddo
  Write(1101,*) (C(I,J),J=1,4)
  Enddo
  End

[ Last edited by mhyuan on 2011-7-11 at 21:40 ]
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

tsiangsun

ľ³æ (СÓÐÃûÆø)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¡ï
xzhdty(½ð±Ò+1): »¶Ó­³£À´³ÌÐòÓïÑÔ°æÌÖÂÛ 2011-07-13 01:07:47
mhyuan(½ð±Ò+5): 2011-07-16 09:23:21
mpiÊÇcpuÖ®¼ä´«µÝÐÅÏ¢£¨Êý¾Ý£©µÄЭÒé¡£ÄãÒªÃ÷È·Ö¸¶¨Ã¿¸öcpuÒª×öʲô¼ÆË㣬²»ÊÇ˵°ÑÕâ¸ö³ÌÐò±à³Ìmpi¾ÍÐÐÁ˵ġ£

ÍøÉϺÍÊéµê¾ÍÓÐÂô½Ì²ÄµÄ£¬¿´ÁËÒÔºóÔÙÀ´ÎÊ
2Â¥2011-07-12 23:48:18
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

mhyuan

½ð³æ (СÓÐÃûÆø)

¡ï
jjdg(½ð±Ò+1): ¸Ðл²ÎÓë³ÌÐòÓïÑÔ°æÌÖÂÛ 2011-07-16 13:31:29
ÒýÓûØÌû:
Originally posted by tsiangsun at 2011-07-12 23:48:18:
mpiÊÇcpuÖ®¼ä´«µÝÐÅÏ¢£¨Êý¾Ý£©µÄЭÒé¡£ÄãÒªÃ÷È·Ö¸¶¨Ã¿¸öcpuÒª×öʲô¼ÆË㣬²»ÊÇ˵°ÑÕâ¸ö³ÌÐò±à³Ìmpi¾ÍÐÐÁ˵ġ£

ÍøÉϺÍÊéµê¾ÍÓÐÂô½Ì²ÄµÄ£¬¿´ÁËÒÔºóÔÙÀ´ÎÊ

ÕýÔÚѧϰ¹ý³ÌÖÐ......ºÇºÇ¡£
3Â¥2011-07-16 09:25:26
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

mhyuan

½ð³æ (СÓÐÃûÆø)

¸ÕÈëÃÅ£¬Ð´ÁËÒ»¸ö×î¼òµ¥µÄ²¢ÐгÌÐò£¨Matrix.f90£©¡£ÈçÏ£º
        Program Matrix
        Implicit None
        Include 'mpif.h'
       
        Integer :: I,J,K
        Integer :: iam,np,ierr
        integer :: status(MPI_STATUS_SIZE)
        Integer :: A(4,4),B(4,4),C(4,4)

        Call MPI_INIT(Ierr)
        Call MPI_COMM_RANK(mpi_comm_world,iam,ierr)
        Call mpi_comm_size(mpi_comm_world,np,ierr)
       
          Data A/1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7/
          Data B/9,8,7,6,5,4,3,2,1,9,8,7,6,5,4,3/
          Data C/0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/

        Do J=1,4
          Do I=1,4
            C((iam+1),J)=C((iam+1),J)+A((iam+1),I)*B(I,J)
          Enddo
        Enddo

        If (iam==0) then
          Call MPI_Recv(c(2,1),1,MPI_Integer,1,0,mpi_comm_world,status,ierr)
          Call MPI_Recv(c(2,2),1,MPI_Integer,1,0,mpi_comm_world,status,ierr)
          Call MPI_Recv(c(2,3),1,MPI_Integer,1,0,mpi_comm_world,status,ierr)
          Call MPI_Recv(c(2,4),1,MPI_Integer,1,0,mpi_comm_world,status,ierr)

          Call MPI_Recv(c(3,1),1,MPI_Integer,2,0,mpi_comm_world,status,ierr)
          Call MPI_Recv(c(3,2),1,MPI_Integer,2,0,mpi_comm_world,status,ierr)
          Call MPI_Recv(c(3,3),1,MPI_Integer,2,0,mpi_comm_world,status,ierr)
          Call MPI_Recv(c(3,4),1,MPI_Integer,2,0,mpi_comm_world,status,ierr)

          Call MPI_Recv(c(4,1),1,MPI_Integer,3,0,mpi_comm_world,status,ierr)
          Call MPI_Recv(c(4,2),1,MPI_Integer,3,0,mpi_comm_world,status,ierr)
          Call MPI_Recv(c(4,3),1,MPI_Integer,3,0,mpi_comm_world,status,ierr)
          Call MPI_Recv(c(4,4),1,MPI_Integer,3,0,mpi_comm_world,status,ierr)
        Elseif (iam==1) then
            Call MPI_send(c(2,1),1,MPI_Integer,0,0,mpi_comm_world,ierr)
            Call MPI_send(c(2,2),1,MPI_Integer,0,0,mpi_comm_world,ierr)
            Call MPI_send(c(2,3),1,MPI_Integer,0,0,mpi_comm_world,ierr)
            Call MPI_send(c(2,4),1,MPI_Integer,0,0,mpi_comm_world,ierr)
        Elseif (iam==2) then
            Call MPI_send(c(3,1),1,MPI_Integer,0,0,mpi_comm_world,ierr)
            Call MPI_send(c(3,2),1,MPI_Integer,0,0,mpi_comm_world,ierr)
            Call MPI_send(c(3,3),1,MPI_Integer,0,0,mpi_comm_world,ierr)
            Call MPI_send(c(3,4),1,MPI_Integer,0,0,mpi_comm_world,ierr)
        Elseif (iam==3) then
            Call MPI_send(c(4,1),1,MPI_Integer,0,0,mpi_comm_world,ierr)
            Call MPI_send(c(4,2),1,MPI_Integer,0,0,mpi_comm_world,ierr)
            Call MPI_send(c(4,3),1,MPI_Integer,0,0,mpi_comm_world,ierr)
            Call MPI_send(c(4,4),1,MPI_Integer,0,0,mpi_comm_world,ierr)
        Endif

        If (iam==0) then
          Do I=1,4
            Write(1102,*) (C(I,J),J=1,4)
          Enddo
        Endif

        Call MPI_FINALIZE(ierr)
        End
ÔËÐз½Ê½Îª£º
    mpif90 Matrix.f90 -o Matrix
       mpirun -np 4 ./Matrix
£¨µ±È»ÔÚ²¢Ðлú»·¾³Ï£©
ÔËÐнá¹û£¨fort.1102)£º
     136          60         146          79
         103          47          99          61
         133          61         124          79
         163          75         149          97
£¨ÓëÉÏÃæµÄ´®ÐгÌÐò½á¹û£¨fort.1101)ÍêȫһÑù£©
£¨Õâ¸ö²¢ÐгÌÐòºÜµÍ¼¶£¬Óдý¼ÌÐø¸Ä½ø......£©
4Â¥2011-07-21 09:01:54
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

mhyuan

½ð³æ (СÓÐÃûÆø)

¡ï
dubo(½ð±Ò+1): »¶Ó­³£À´³ÌÐòÓïÑÔ°æÌÖÂÛ 2011-07-31 13:22:45
¼òµ¥°æ±¾
        Program Matrix
        Implicit None
        Include 'mpif.h'
       
        Integer :: I,J,K
        Integer :: iam,np,ierr
        Integer :: A(4,4),B(4,4),C(4,4)
        Integer :: AA(4),CC(16)

        Call MPI_INIT(Ierr)
        Call MPI_COMM_RANK(mpi_comm_world,iam,ierr)
        Call mpi_comm_size(mpi_comm_world,np,ierr)
       
          Data A/1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7/
          Data B/9,8,7,6,5,4,3,2,1,9,8,7,6,5,4,3/
          Data CC/0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/

        Do I=1,4
          AA(I)=A((iam+1),I)
        Enddo

        Do J=1,4
          Do I=1,4
            CC(J)=CC(J)+AA(I)*B(I,J)
          Enddo
        Enddo

        Call MPI_Gather(CC,4,MPI_Integer,CC,4,MPI_Integer,0,mpi_comm_world,ierr)

        If (iam==0) then
        K=0
        Do I=1,4
          Do J=1,4
            K=K+1
                C(I,J)=CC(K)
          Enddo
          Write(1103,*) (C(I,J),J=1,4)
        Enddo
        Endif

        Call MPI_FINALIZE(ierr)
        End
ÔËÐз½Ê½Ò»Ñù
ÔËÐнá¹ûÒ»Ñù
5Â¥2011-07-22 11:21:26
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

kevin123581

½ð³æ (ÕýʽдÊÖ)

¸Ð¾õmpi¸ÄдºÃ¸´ÔÓ°¡£¬ÎÒÒ²×¼±¸Ñ§Ñ§
6Â¥2012-09-11 11:55:57
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

lrlrwu

½ð³æ (СÓÐÃûÆø)

ºÇºÇ£¬ÎÒÒ²¸Õ¿ªÊ¼Ñ§Ï°MPI±à³Ì~ÎÒÓõÄÊÇC»·¾³ÏµÄ~
7Â¥2012-09-11 18:06:41
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

wangjiang381

Í­³æ (³õÈëÎÄ̳)

²»´í£¡ÎÒҲҪѧϰ
8Â¥2012-11-08 21:00:47
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

weiwei43

ÖÁ×ðľ³æ (ÕýʽдÊÖ)

Â¥Ö÷ѧϰµÃÕæ¿ìѽ!
ÔÚ VS2008Ï¿ÉÒÔÂð?Äãд³öµÄÔËÐз½Ê½ÄÜתµ½vs2008ÏÂÂð?
9Â¥2014-07-12 21:37:27
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ mhyuan µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 279·ÖÇóµ÷¼Á Ò»Ö¾Ô¸211 +14 chaojifeixia 2026-03-19 15/750 2026-03-21 13:24 by zhukairuo
[¿¼ÑÐ] 299Çóµ÷¼Á +3 ijijijijλ 2026-03-21 3/150 2026-03-21 13:11 by zhukairuo
[¿¼ÑÐ] ²ÄÁÏ 271Çóµ÷¼Á +3 Õ¹ÐÅÔÃ_ 2026-03-21 3/150 2026-03-21 10:17 by ÍõЦÓîÒ»¶¨ÊÇÑо
[¿¼ÑÐ] Çóµ÷¼Á +6 Mqqqqqq 2026-03-19 6/300 2026-03-21 08:04 by JourneyLucky
[¿¼ÑÐ] ²ÄÁϹ¤³Ì£¨×¨£©Ò»Ö¾Ô¸985 ³õÊÔ335Çóµ÷¼Á +3 hiloiy 2026-03-17 4/200 2026-03-21 03:04 by JourneyLucky
[¿¼ÑÐ] 332Çóµ÷¼Á +4 ydfyh 2026-03-17 4/200 2026-03-21 02:20 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸Äϲý´óѧ£¬327·Ö£¬²ÄÁÏÓ뻯¹¤085600 +9 Ncdx123456 2026-03-19 9/450 2026-03-20 23:41 by lovewei0727
[¿¼ÑÐ] 287Çóµ÷¼Á +7 ³¿»èÏßÓëÐǺ£ 2026-03-19 8/400 2026-03-20 22:19 by JourneyLucky
[¿¼ÑÐ] ±¾ÈË¿¼085602 »¯Ñ§¹¤³Ì ר˶ +19 ²»ÖªµÀ½Ðʲô£¡ 2026-03-15 21/1050 2026-03-20 20:48 by zhukairuo
[¿¼ÑÐ] Ò»Ö¾Ô¸»ªÖÐũҵ071010£¬×Ü·Ö320Çóµ÷¼Á +3 À§À§À§À§À¤À¤ 2026-03-20 3/150 2026-03-20 20:38 by ѧԱ8dgXkO
[¿¼ÑÐ] 319Çóµ÷¼Á +3 СÁ¦Æøçæçæ 2026-03-20 3/150 2026-03-20 19:47 by JourneyLucky
[¿¼ÑÐ] 0703»¯Ñ§µ÷¼Á £¬Áù¼¶Òѹý£¬ÓпÆÑо­Àú +13 êØÎõÙâ 2026-03-15 13/650 2026-03-20 19:35 by Dream007008
[¿¼ÑÐ] 086500 325 Çóµ÷¼Á +3 Áì´øÐ¡ÐÜ 2026-03-19 3/150 2026-03-20 18:38 by ¾¡Ë´Ò¢1
[»ù½ðÉêÇë] ѧУÒѾ­Ìá½»µ½NSFC£¬»¹ÄÜÐÞ¸ÄÂ𣿠40+4 babangida 2026-03-19 8/400 2026-03-20 15:58 by babero
[¿¼ÑÐ] ÉúÎïѧµ÷¼ÁÕÐÈË£¡£¡£¡ +3 ɽº£Ììá° 2026-03-17 4/200 2026-03-19 21:34 by ÔõôÊÍ»³
[¿¼ÑÐ] ²ÄÁϹ¤³Ìר˶µ÷¼Á +5 204818@lcx 2026-03-17 6/300 2026-03-18 22:55 by 204818@lcx
[¿¼ÑÐ] ÓÐûÓеÀÌú/ÍÁľµÄÏëµ÷¼ÁÄÏÁÖ£¬¸ø×Ô¼ºÕÐʦµÜÖС« +3 TqlXswl 2026-03-16 7/350 2026-03-17 15:23 by TqlXswl
[¿¼ÑÐ] 11408 Ò»Ö¾Ô¸Î÷µç£¬277·ÖÇóµ÷¼Á +3 zhouzhen654 2026-03-16 3/150 2026-03-17 07:03 by laoshidan
[¿¼ÑÐ] [µ¼Ê¦ÍƼö]Î÷ÄϿƼ¼´óѧ¹ú·À/²ÄÁϵ¼Ê¦ÍƼö +3 ¼â½ÇСºÉ 2026-03-16 6/300 2026-03-16 23:21 by ¼â½ÇСºÉ
[¿¼ÑÐ] ¶«ÄÏ´óѧ364Çóµ÷¼Á +5 JasonYuiui 2026-03-15 5/250 2026-03-16 21:28 by ľ¹Ï¸à
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û