Главная » Просмотр файлов » Параллельное программирование с использованием MPI. Антонов (2004)

Параллельное программирование с использованием MPI. Антонов (2004) (1186029), страница 5

Файл №1186029 Параллельное программирование с использованием MPI. Антонов (2004) (Параллельное программирование с использованием MPI. Антонов (2004).pdf) 5 страницаПараллельное программирование с использованием MPI. Антонов (2004) (1186029) страница 52020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 5)

0) thendo while(.TRUE.)call slave(a, N)call MPI_SEND(a, N, MPI_DOUBLE_PRECISION, 0, 5,&MPI_COMM_WORLD, ierr)end doelsedo i = 1, size-1call MPI_IRECV(a(1, i), N, MPI_DOUBLE_PRECISION, i,&5, MPI_COMM_WORLD, req(i), ierr)end dodo while(.TRUE.)call MPI_WAITSOME(size-1, req, num, indexes,&statuses, ierr)do i = 1, numcall master(a(1, indexes(i)), N)call MPI_IRECV(a(1, indexes(i)), N,&MPI_DOUBLE_PRECISION,&indexes(i), 5, MPI_COMM_WORLD,&req(indexes(i)), ierr)end doend doend ifcall MPI_FINALIZE(ierr)endsubroutine slave(a, n)double precision ainteger n&h[jZ[hldZehdZevghcqZklbfZkkb\ZDendsubroutine master(a, n)double precision ainteger n&h[jZ[hldZfZkkb\ZDEnd26MPI_TEST(REQUEST, FLAG, STATUS, IERR)LOGICAL FLAGINTEGER REQUEST, IERR, STATUS(MPI_STATUS_SIZE)Ijh\_jdZ aZ\_jr_gghklb Zkbgojhgghchi_jZpbb MPI_ISENDbeb MPI_IRECV,Zkkhpbbjh\Zgghckb^_glbnbdZlhjhf REQUEST<iZjZf_lj_ FLAG\ha\jZsZ_lkyagZq_gb_ .TRUE._kebhi_jZpbyaZ\_jr_gZbagZq_gb_ .FALSE.

-\ijhlb\ghf kemqZ_\ yaud_ Kb – 1 beb 0 khhl\_lkl\_ggh ?kebaZ\_jr_gZijh-p_^mjZ ijb_fZ lh Zljb[mlu b ^ebgm ihemq_ggh]h khh[s_gby fh`ghhij_^_eblv h[uqguf h[jZahf k ihfhsvx iZjZf_ljZ STATUS Ihke_\uiheg_gby ijhp_^mju khhl\_lkl\mxsbc we_f_gl iZjZf_ljZ REQUESTmklZgZ\eb\Z_lky\agZq_gb_MPI_REQUEST_NULL.MPI_TESTALL(COUNT, REQUESTS, FLAG, STATUSES, IERR)LOGICAL FLAGINTEGER COUNT, REQUESTS(*), STATUSES(MPI_STATUS_SIZE,*), IERRIjh\_jdZ aZ\_jr_gghklb COUNT Zkbgojhgguo hi_jZpbc Zkkhpbbjh\Zgguokb^_glbnbdZlhjZfb REQUESTS < iZjZf_lj_ FLAG ijhp_^mjZ \ha\jZsZ_l agZq_gb_ .TRUE. \ yaud_ Kb – 1 _keb \k_ hi_jZpbb Zkkhpbbjh\Zggu_ k mdZ-aZggufb b^_glbnbdZlhjZfb aZ\_jr_gu < wlhf kemqZ_ iZjZf_ljukhh[s_gbc[m^mlmdZaZgu\fZkkb\_ STATUSES?kebdZdZy-eb[hbahi_jZpbcg_aZ\_jrbeZkvlh\ha\jZsZ_lky.FALSE.\yaud_Kb– 0bhij_^_e_gghklvwe_f_glh\ fZkkb\Z STATUSES g_ ]ZjZglbjm_lky Ihke_ \uiheg_gbyREQUESTSijhp_^mjukhhl\_lkl\mxsb_we_f_gluiZjZf_ljZmklZgZ\eb\Zxlky\agZq_gb_MPI_REQUEST_NULL.MPI_TESTANY(COUNT, REQUESTS, INDEX, FLAG, STATUS, IERR)LOGICAL FLAGINTEGER COUNT, REQUESTS(*), INDEX, STATUS(MPI_STATUS_SIZE), IERRIjh\_jdZaZ\_jr_gghklbohly[uh^ghcZkbgojhgghchi_jZpbbZkkhpbbjh\Zgghckb^_glbnbdZlhjhfbafZkkb\ZREQUESTS<iZjZf_lj_FLAG\ha\jZsZ_lky agZq_gb_ .TRUE.

\ yaud_ Kb – 1 _keb ohly [u h^gZ ba hi_jZpbcZkbgojhggh]hh[f_gZaZ\_jr_gZijbwlhf INDEXkh^_j`blghf_jkhhl\_lkl\mxs_]hwe_f_glZ\fZkkb\_REQUESTSZSTATUS — iZjZf_ljukhh[s_gby<ijhlb\ghf kemqZ_ \ iZjZf_lj_ FLAG [m^_l \ha\jZs_gh agZq_gb_ .FALSE. \yaud_Kb– 0?kebdfhf_glm\uah\ZaZ\_jrbebkvg_kdhevdhbah`b^Z_fuohi_jZpbc lh kemqZcguf h[jZahf [m^_l \u[jZgZ h^gZ ba gbo Ihke_\uiheg_gby ijhp_^mju khhl\_lkl\mxsbc we_f_gl iZjZf_ljZ REQUESTSmklZgZ\eb\Z_lky\agZq_gb_MPI_REQUEST_NULL.27MPI_TESTSOME(INCOUNT, REQUESTS, OUTCOUNT, INDEXES, STATUSES,IERR)INTEGER INCOUNT, REQUESTS(*), OUTCOUNT, INDEXES(*), IERR,STATUSES(MPI_STATUS_SIZE,*):gZeh]ijhp_^mju MPI_WAITSOMEgh\ha\jZlijhbkoh^blg_f_^e_ggh?kebgbh^gZbal_klbjm_fuohi_jZpbcdfhf_glm\uah\Zg_aZ\_jrbeZkvlhagZq_gb_OUTCOUNT[m^_ljZ\ghgmexKe_^mxsbc ijbf_j ^_fhgkljbjm_l ijbf_g_gb_ g_[ehdbjmxsbo hi_jZpbc^eyj_ZebaZpbbljZgkihgbjh\Zgbyd\Z^jZlghcfZljbpujZkij_^_e_gghcf_`^m ijhp_kkZfb ih kljhdZf KgZqZeZ dZ`^uc ijhp_kk ehdZevgh hij_^_ey_lnlkljhdfZkkb\ZaAZl_fijbihfhsbg_[ehdbjmxsbohi_jZpbcMPI_ISENDb MPI_IRECVbgbpbZebabjmxlky\k_g_h[oh^bfu_^eyljZgkihgbjh\Zgbyh[f_gu ^Zggufb GZ nhg_ gZqbgZxsboky h[f_gh\ dZ`^uc ijhp_kk ljZgkihgbjm_l k\hx ehdZevgmx qZklv fZkkb\Z a Ihke_ wlh]h ijhp_kk ijb ihfhsb\uah\Z ijhp_^mju MPI_WAITANY ^h`b^Z_lky ijboh^Z khh[s_gby hl ex[h]h^jm]h]h ijhp_kkZ b ljZgkihgbjm_l ihemq_ggmx hl ^Zggh]h ijhp_kkZ qZklvfZkkb\Z a H[jZ[hldZ ijh^he`Z_lky ^h l_o ihj ihdZ g_ [m^ml ihemq_gukhh[s_gby hl \k_o ijhp_kkh\ < dhgp_ bkoh^guc fZkkb\ a bljZgkihgbjh\ZggucfZkkb\bjZki_qZlu\Zxlkyprogram example11include 'mpif.h'integer ierr, rank, size, N, nl, i, jparameter (N = 9)double precision a(N, N), b(N, N)call MPI_INIT(ierr)call MPI_COMM_SIZE(MPI_COMM_WORLD, size, ierr)call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr)nl = (N-1)/size+1call work(a, b, N, nl, size, rank)call MPI_FINALIZE(ierr)endsubroutine work(a, b, n, nl, size, rank)include 'mpif.h'integer ierr, rank, size, n, MAXPROC, nl, i, j, ii, jj, irparameter (MAXPROC = 64)double precision a(nl, n), b(nl, n), cinteger irr, status(MPI_STATUS_SIZE), req(MAXPROC*2)do i = 1, nldo j = 1, nii = i+rank*nlif(ii .le.

n) a(i, j) = 100*ii+jend doend dodo ir = 0, size-1if(ir .ne. rank)&call MPI_IRECV(b(1, ir*nl+1), nl*nl,28&&&MPI_DOUBLE_PRECISION, ir,MPI_ANY_TAG, MPI_COMM_WORLD,req(ir+1), ierr)end doreq(rank+1) = MPI_REQUEST_NULLdo ir = 0, size-1if(ir .ne. rank)&call MPI_ISEND(a(1, ir*nl+1), nl*nl,&MPI_DOUBLE_PRECISION, ir,&1, MPI_COMM_WORLD,&req(ir+1+size), ierr)end doir = rankdo i = 1, nlii = i+ir*nldo j = i+1, nljj = j+ir*nlb(i, jj) = a(j, ii)b(j, ii) = a(i, jj)end dob(i, ii) = a(i, ii)end dodo irr = 1, size-1call MPI_WAITANY(size, req, ir, status, ierr)ir = ir-1do i = 1, nlii = i+ir*nldo j = i+1, nljj = j+ir*nlc = b(i, jj)b(i, jj) = b(j, ii)b(j, ii) = cend doend doend dodo i = 1, nldo j = 1, Nii = i+rank*nlif(ii .le. n) print *, 'process ', rank,&': a(', ii, ', ', j, ') =', a(i,j),&', b(', ii, ', ', j, ') =', b(i,j)end doend doend29Hleh`_ggu_aZijhkugZ\aZbfh^_ckl\b_Ijhp_^mju ^Zgghc ]jmiiu iha\heyxl kgbablv gZdeZ^gu_ jZkoh^u \hagbdZxsb_\jZfdZoh^gh]hijhp_kkhjZijbh[jZ[hld_ijb_fZi_j_^Zqbbi_j_f_s_gbbg_h[oh^bfhcbgnhjfZpbbf_`^mijhp_kkhfbk_l_\ufdhgljhee_jhf QZklh \ ijh]jZff_ ijboh^blky fgh]hdjZlgh \uihegylv h[f_gu k h^bgZdh\ufbiZjZf_ljZfbgZijbf_j\pbde_<wlhfkemqZ_fh`ghh^bgjZabgbpbZebabjh\Zlv hi_jZpbx h[f_gZ b ihlhf fgh]hdjZlgh __ aZimkdZlv g_ljZly gZ dZ`^hc bl_jZpbb ^hihegbl_evgh]h \j_f_gb gZ bgbpbZebaZpbx baZ\_^_gb_khhl\_lkl\mxsbo\gmlj_ggbokljmdlmj^ZgguoDjhf_lh]hlZdbfh[jZahf g_kdhevdh aZijhkh\ gZ ijb_f bbeb i_j_^Zqm fh]ml h[t_^bgylvky\f_kl_^eylh]hqlh[u^Ze__bofh`gh[ueh[uaZimklblvh^ghcdhfZg^hc\ijhq_f wlh kh\k_f g_h[yaZl_evgh ohjhrh ihkdhevdm fh`_l ijb\_klb di_j_]jmad_dhffmgbdZpbhgghck_lbKihkh[ ijb_fZ khh[s_gby gbdZd g_ aZ\bkbl hl kihkh[Z _]h ihkuedb khh[s_gb_ hlijZ\e_ggh_ k ihfhsvx hleh`_gguo aZijhkh\ eb[h h[uqguf kihkh[hffh`_l[ulvijbgylhdZdh[uqgufkihkh[hflZdbkihfhsvxhleh`_gguoaZijhkh\MPI_SEND_INIT(BUF, COUNT, DATATYPE, DEST, MSGTAG, COMM, REQUEST,IERR)<type> BUF(*)INTEGER COUNT, DATATYPE, DEST, MSGTAG, COMM, REQUEST, IERRNhjfbjh\Zgb_hleh`_ggh]haZijhkZgZihkuedmkhh[s_gbyKZfZhi_jZpbyi_j_kuedbijbwlhfg_gZqbgZ_lky:gZeh]bqgh lj_f fh^bnbdZpbyf ijhp_^mj MPI_SEND b MPI_ISEND ij_^mkfhlj_guljb^hihegbl_evguo\ZjbZglZijhp_^mjuMPI_SEND_INIT:• MPI_BSEND_INIT — nhjfbjh\Zgb_ hleh`_ggh]h aZijhkZ gZ i_j_^Zqmkhh[s_gbyk[mn_jbaZpb_c• MPI_SSEND_INIT — nhjfbjh\Zgb_ hleh`_ggh]h aZijhkZ gZ i_j_^Zqmkhh[s_gbykkbgojhgbaZpb_c• MPI_RSEND_INIT — nhjfbjh\Zgb_ hleh`_ggh]h aZijhkZ gZ i_j_^Zqmkhh[s_gbyih]hlh\ghklbMPI_RECV_INIT(BUF, COUNT, DATATYPE, SOURCE, MSGTAG, COMM,REQUEST, IERR)<type> BUF(*)INTEGER COUNT, DATATYPE, SOURCE, MSGTAG, COMM, REQUEST, IERRNhjfbjh\Zgb_ hleh`_ggh]h aZijhkZ gZ ijb_f khh[s_gby KZfZ hi_jZpbyijb_fZijbwlhfg_gZqbgZ_lky30MPI_START(REQUEST, IERR)INTEGER REQUEST, IERRBgbpbZebaZpbyhleh`_ggh]haZijhkZgZ\uiheg_gb_hi_jZpbbh[f_gZkhhl\_lkl\mxs_c agZq_gbx iZjZf_ljZ REQUEST Hi_jZpby aZimkdZ_lky dZd g_[ehdbjmxsZyMPI_STARTALL(COUNT, REQUESTS, IERR)INTEGER COUNT, REQUESTS, IERRBgbpbZebaZpby COUNT hleh`_gguo aZijhkh\ gZ \uiheg_gb_ hi_jZpbc h[f_gZ khhl\_lkl\mxsbo agZq_gbyf i_j\uo COUNT we_f_glh\ fZkkb\ZREQUESTSHi_jZpbbaZimkdZxlkydZdg_[ehdbjmxsb_< hlebqb_ hl g_[ehdbjmxsbo hi_jZpbc ih aZ\_jr_gbb \uiheg_gbyhi_jZpbbaZims_gghcijbihfhsbhleh`_ggh]haZijhkZgZ\aZbfh^_ckl\b_agZq_gb_iZjZf_ljZREQUEST (REQUESTSkhojZgy_lkybfh`_lbkihevah\Zlvky\^Zevg_cr_fMPI_REQUEST_FREE(REQUEST, IERR)INTEGER REQUEST, IERR>ZggZy ijhp_^mjZ m^Zey_l kljmdlmju ^Zgguo k\yaZggu_ k iZjZf_ljhfREQUESTIhke___\uiheg_gbyiZjZf_ljREQUESTmklZgZ\eb\Z_lky\agZq_gb_MPI_REQUEST_NULL ?keb hi_jZpby k\yaZggZy k wlbf aZijhkhf m`_\uihegy_lkylhhgZ[m^_laZ\_jr_gZ<ke_^mxs_fijbf_j_bgbpbZebabjmxlkyhleh`_ggu_aZijhkugZhi_jZpbb^\mgZijZ\e_ggh]h h[f_gZ k khk_^gbfb ijhp_kkZfb \ dhevp_\hc lhiheh]bbKZfb hi_jZpbb aZimkdZxlky gZ dZ`^hc bl_jZpbb ihke_^mxs_]h pbdeZ IhaZ\_jr_gbbpbdeZhleh`_ggu_aZijhkum^Zeyxlkyprev = rank - 1next = rank + 1if(rank .eq.

0) prev = size - 1if(rank .eq. size - 1) next = 0call MPI_RECV_INIT(rbuf(1), 1, MPI_REAL, prev, 5,&MPI_COMM_WORLD, reqs(1), ierr)call MPI_RECV_INIT(rbuf(2), 1, MPI_REAL, next, 6,&MPI_COMM_WORLD, reqs(2), ierr)call MPI_SEND_INIT(sbuf(1), 1, MPI_REAL, prev, 6,&MPI_COMM_WORLD, reqs(3), ierr)call MPI_SEND_INIT(sbuf(2), 1, MPI_REAL, next, 5,&MPI_COMM_WORLD, reqs(4), ierr)do i=...sbuf(1)=...sbuf(2)=...call MPI_STARTALL(4, reqs, ierr)...call MPI_WAITALL(4, reqs, stats, ierr);...end do31callcallcallcallMPI_REQUEST_FREE(reqs(1),MPI_REQUEST_FREE(reqs(2),MPI_REQUEST_FREE(reqs(3),MPI_REQUEST_FREE(reqs(4),ierr)ierr)ierr)ierr)Lmibdh\u_kblmZpbbGHDGORFNBkihevah\Zgb_[ehdbjmxsboijhp_^mjijb_fZbihkuedbk\yaZghk\hafh`guf\hagbdgh\_gb_flmibdh\hckblmZpbbIj_^iheh`bfqlhjZ[hlZxl^\ZiZjZee_evguoijhp_kkZbhgb^he`guh[f_gylvky^Zggufb;ueh[u\iheg__kl_kl\_ggh \ dZ`^hf ijhp_kk_ kgZqZeZ \hkihevah\Zlvky ijhp_^mjhcMPI_SENDZaZl_fijhp_^mjhcMPI_RECV.Ghbf_gghwlh]hbg_klhbl^_eZlv>_eh \ lhfqlhfuaZjZg__g_agZ_fdZdj_Zebah\ZgZijhp_^mjZ MPI_SEND.?keb jZajZ[hlqbdb ^ey ]ZjZglbb dhjj_dlgh]h ih\lhjgh]h bkihevah\Zgby[mn_jZ ihkuedb aZeh`beb ko_fm ijb dhlhjhc ihkueZxsbc ijhp_kk `^_lgZqZeZijb_fZlh\hagbdg_ldeZkkbq_kdbclmibdI_j\ucijhp_kkg_fh`_l\_jgmlvky ba ijhp_^mju ihkuedb ihkdhevdm \lhjhc g_ gZqbgZ_l ijb_fkhh[s_gby:\lhjhcijhp_kkg_fh`_lgZqZlvijb_fkhh[s_gbyihkdhevdmkZfihihoh`_cijbqbg_aZkljyegZihkued_?s_om`_kblmZpbydh]^Zh[Zijhp_kkZkgZqZeZihiZ^ZxlgZ[ehdbjmxsmxijhp_^mjm ijb_fZ MPI_RECV Z ebrv aZl_f gZ ihkuedm ^Zgguo < lZdhfkemqZ_lmibd\hagbdg_lg_aZ\bkbfhhlkihkh[Zj_ZebaZpbbijhp_^mjijb_fZbihkuedb^Zgguoijhp_kk0:ijhp_kk1:MPI_RECVhlijhp_kkZMPI_SENDijhp_kkmMPI_RECVhlijhp_kkZMPI_SENDijhp_kkm<hagbdZ_llmibdijhp_kk0:ijhp_kk1:MPI_SENDijhp_kkmMPI_RECVhlijhp_kkZMPI_SENDijhp_kkmMPI_RECVhlijhp_kkZFh`_l\hagbdgmlvlmibdJZkkfhljbfjZaebqgu_kihkh[ujZaj_r_gbylmibdh\uokblmZpbc1.

Ijhkl_crbf\ZjbZglhfjZaj_r_gbylmibdh\hckblmZpbb[m^_lbaf_g_gb_ihjy^dZ ke_^h\Zgby ijhp_^mj ihkuedb b ijb_fZ khh[s_gby gZ hghf baijhp_kkh\dZdihdZaZghgb`_ijhp_kk0:ijhp_kk1:MPI_SENDijhp_kkmMPI_RECVhlijhp_kkZMPI_RECVhlijhp_kkZMPI_SENDijhp_kkm32Lmibdg_\hagbdZ_l2. >jm]bf \ZjbZglhf jZaj_r_gby lmibdh\hc kblmZpbb fh`_l [ulvbkihevah\Zgb_ g_[ehdbjmxsbo hi_jZpbc AZf_gbf \uah\ ijhp_^mjuijb_fZkhh[s_gbyk[ehdbjh\dhcgZ\uah\ijhp_^mju MPI_IRECVJZkiheh`bf _]h i_j_^ \uah\hf ijhp_^mju MPI_SEND l_ ij_h[jZam_f njZ]f_glke_^mxsbfh[jZahfIjhp_kk0:ijhp_kk1:MPI_SENDijhp_kkmMPI_RECVhlijhp_kkZMPI_IRECVhlijhp_kkZMPI_SENDijhp_kkmMPI_WAITLmibdg_\hagbdZ_l< lZdhc kblmZpbb lmibd ]ZjZglbjh\Zggh g_ \hagbdg_l ihkdhevdm d fhf_glm\uah\Zijhp_^mjuMPI_SEND aZijhkgZijb_fkhh[s_gbym`_[m^_l\uklZ\e_g Z agZqbl i_j_^ZqZ ^Zgguo fh`_l gZqZlvky Ijb wlhfj_dhf_g^m_lky\uklZ\eylvijhp_^mjm MPI_IRECV\ijh]jZff_dZdfh`ghjZgvr_ qlh[u jZgvr_ ij_^hklZ\blv \hafh`ghklv gZqZeZ i_j_kuedb bfZdkbfZevghbkihevah\Zlvij_bfms_kl\ZZkbgojhgghklb3.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6376
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее