Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы программирования на FORTRAN (ФОРТРАН)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330

Открыть новую тему     Написать ответ в эту тему

akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаются все вопросы, связанные с программированием на ФОРТРАН, как общего так и конкретного характера.
Постарайтесь дать как можно больше информации о возникшей проблеме -- это в конце концов в ваших же интересах чтобы вам помогли...

прежде чем просить помощи в задании
платное решение задач

ресурсы этого топика
ссылка на подборку ресурсов, собранных посетителями этого форума
 
то, чем мы решили поделиться
ссылка на страничку программ etc собственного изготовления, которыми любезно делятся наши форумчане


если вам вдруг не отвечают или ответ вас не устраивает
и вообще полезно прочитать всем спрашивающим
 
просьба к пишущим и отвечающим все большие листинги оформлять тегом more
и отключать графические смайлики при размещении фортран-кода

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 18:11 14-01-2007 | Исправлено: akaGM, 09:47 01-03-2020
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KChernov
передай шефу: хачу "грамотный" коньяк...
 
FuzzyLogic
можешь рассказать как мне эту http://openmp.org/wp/ штуку под IF подключить?

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 21:47 11-01-2009 | Исправлено: akaGM, 23:11 11-01-2009
FuzzyLogic



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
В линуксовом IF, это ключик -openmp компилятора, подозреваю что в Win такой же либо судя по информации по той ссылке что вы писали, то  -Qopenmp, плюс если не ошибаюсь, то нужен ключик -fpp, чтобы работал препроцессор. Ну вот в общем-то и всё. Сейчас под рукой IVF нет, попробовать не могу к сожалению.  
Потом пишем например
 

Код:
 
!$omp parallel shared(A, B, C, N) private(I)
!$omp do schedule(dynamic)
do i=1, N
  A(I) = B(I)*C(I)
end do
!$omp end do nowait
!$omp end parallel  
 

 
это пожалуй самый элементарный случай, когда в общем-то вся параллелизация отдаётся в руки компилятору. Можно параллелить и самому, руками. Если что спрашивайте

Всего записей: 1920 | Зарегистр. 27-07-2002 | Отправлено: 23:44 11-01-2009
ctud

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FuzzyLogic
мне нужено было распаралелить "Методом гиперплоскостей"

Всего записей: 2 | Зарегистр. 04-01-2009 | Отправлено: 01:31 14-01-2009
bigspoon

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли на компиляторе g95 сделать параллелельное вычмсление? Если, нет, то подскажите, пожалуста, как можно распараллелить,
например,  вот такой код:
 
!integer COUNT
ICOUNT = 0
do i1=0,9
 do i2=0,9
  do i3=0,9
   do i4=0,9
    do i5=0,9
     do i6=0,9
        if (i1+i2+i3 .EQ. i4+i5+i6) then  
        ICOUNT=ICOUNT+1
        print*, 'COUNT=', ICOUNT, ' ',i1, i2, i3,' ', i4, i5, i6  
        endif
     endDO
    endDO
   endDO
  endDO
 endDO
endDO
print*, 'COUNT=', ICOUNT
end

Всего записей: 178 | Зарегистр. 24-02-2005 | Отправлено: 15:26 15-01-2009
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FuzzyLogic
надо же...
а я всё за отсутствие openmp.lib боялся, спас...
хотя всё же omp_lib.h подключать пришлось...

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 15:31 15-01-2009
FuzzyLogic



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bigspoon
Вам идею или тех. реализацию?
g95 на данный момент OpenMP не поддерживает, разбираться с MPI ради того что вы написали наверное смысла нет.
На любом компиляторе поддерживающем OpenMP, просто посмотрите то что я писал akaGM несколько постов назад. Оберните ваши циклы в ту же самую обёртку и будет вам счастье

Всего записей: 1920 | Зарегистр. 27-07-2002 | Отправлено: 20:31 15-01-2009
Skeptik18

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто-нибудь использовал imsl в многопоточных приложениях? Мои эксперименты показывают, что imsl ни разу не thread-safe и вызовы библиотечных функций нереентерантны. Так ли это? Может я что не так делаю. В нете встречал описания аналогичных трудностей
http://forums.vni.com/showthread.php?t=1869

Всего записей: 17 | Зарегистр. 01-08-2006 | Отправлено: 11:41 16-01-2009
bigspoon

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FuzzyLogic, спасибо за ответ.
Подскажите, пожалуйста, каким (свободным) компилятором можно возпользоваться для решения моей задачи.  
 
Сейчас я использую связку g95+SciTE.
 
Слушал доклад по параллельным вычислениям.  
Хочу сравнить скорость решения задачи "счастливый билет" (см. код выше) при последовательном и параллельном вычислениях. Возможно на этой задаче эти изыскания будут отрицательными...
 
 
принципиально ли какой у Win32 или Win64, сколько ядер не процессоре?

Всего записей: 178 | Зарегистр. 24-02-2005 | Отправлено: 13:00 16-01-2009 | Исправлено: bigspoon, 13:20 16-01-2009
FuzzyLogic



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bigspoon

Цитата:
Подскажите, пожалуйста, каким (свободным) компилятором можно возпользоваться для решения моей задачи.  

gfotran поддерживает OpenMP если я не ошибаюсь, также Intel даёт бесплатную версию своих компиляторов под Linux для некоммерческих целей. тут Для Win посложнее, под него обычно меньше бесплатных продуктов, может кто ещё что подскажет.
 

Цитата:
 
Слушал доклад по параллельным вычислениям.  
Хочу сравнить скорость решения задачи "счастливый билет" (см. код выше) при последовательном и параллельном вычислениях. Возможно на этой задаче эти изыскания будут отрицательными...

Не вижу причин на то чтобы они были отрицательными, задача распараллеливается на 100 процентов, а посему прирост должен быть прямо пропорционален кол-ву процессоров(ядер).
 

Цитата:
принципиально ли какой у Win32 или Win64, сколько ядер не процессоре?

нет

Всего записей: 1920 | Зарегистр. 27-07-2002 | Отправлено: 19:46 16-01-2009
ferret



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прочитал ваш разговор про параллельные программы - стало интересно попробовать. Но у меня дома всего один процессор, можно ли запускать OpenMP?

Всего записей: 1173 | Зарегистр. 10-07-2002 | Отправлено: 21:01 16-01-2009
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ferret
можно, если у тебя пентиум 4+ работает в дуал-моде (хипер-треадинг),
только выигрыша в этом никакого...

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 21:09 16-01-2009
ferret



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM Понятно, выигрыша и не надо, это чтобы дома можно было программировать, а потом на работе запускать.

Всего записей: 1173 | Зарегистр. 10-07-2002 | Отправлено: 21:16 16-01-2009
bigspoon

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ferret, аналогично хочу попробывать.
 
Добавлено:
FuzzyLogic, посмотрел я на gfortran.  
Только установить его - отдельная задача.  
Есть хорошее описание на русском как это cделать под WinXP?
 
Могу предложить описание с картинками как "поставить" g95 +SciTE под WinXP.

Всего записей: 178 | Зарегистр. 24-02-2005 | Отправлено: 04:05 17-01-2009
bigspoon

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://approximatrix.com/articles/setting-up-gnu-gfortran-on-windows-xp
 
неужели проще нельзя?

Всего записей: 178 | Зарегистр. 24-02-2005 | Отправлено: 17:23 18-01-2009
terminat0r



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bigspoon

Цитата:
неужели проще нельзя?

можно,- заинсталлировать линукс и не заморачиваться.

Всего записей: 2084 | Зарегистр. 31-03-2002 | Отправлено: 00:02 19-01-2009
bigspoon

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
На Мандриве2007 есть gfortran?
 
Добавлено:
http://skif.tsu.ru/lit/parallel.pdf
учебное пособие

Всего записей: 178 | Зарегистр. 24-02-2005 | Отправлено: 05:06 19-01-2009
FuzzyLogic



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bigspoon
В любом дистре есть или ставится элементарно. Вообще, если хочется по-быстрому, можно просто взять в варезнике IF под Win, он поддерживает OpenMP. С cygwin я бы извращаться не стал, потому как если честно несмотря на то что он уже не новый, но до сих пор довольно глючный, как там реализована поддержка параллельности тоже не уверен, может у кого опыт и есть. Поэтому если хочется пойти бесплатным путём, и в тоже время не руша имеющееся, я бы посоветовал VMware или VirtualBox и поставить под них линь, либо скачать уже готовую, благо в инете миллион с предустановленным линухом. Можно даже скачать VMware Player (он весит всего ничего и простенький весь) + готовую виртуальную машинку с каким-нить линухом и поставить туда gfortran или ifort. Установка всего займёт от силы 15 минут Я именно так и поступаю, так как дома предпочитаю Win, просто под VMware постоянно крутится несколько вирт. машин для разработки и тестирования.

Всего записей: 1920 | Зарегистр. 27-07-2002 | Отправлено: 08:05 19-01-2009
bigspoon

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FuzzyLogic, спасибо за подробный ответ
 
у меня на работе есть Мандрива. Можно обновить на что-нибудь более новое.
Дома попробую твой рецепт.

Всего записей: 178 | Зарегистр. 24-02-2005 | Отправлено: 14:56 19-01-2009
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gfortran cтавится за 3-4 минуты под Хрюшку, если на ней установлен minGW
сам minGW ставится виндоподобным инсталлятором ещё быстрее...
 
я ставил вот это (ссылка с http://gcc.gnu.org/wiki/GFortranBinaries/ )

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 15:47 20-01-2009 | Исправлено: akaGM, 19:52 20-01-2009
bigspoon

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM, при установке g95 у меня установлено: C:\g95\lib\gcc-lib\i686-pc-mingw32\4.0.4 - это и есть minGW ?

Всего записей: 178 | Зарегистр. 24-02-2005 | Отправлено: 19:25 20-01-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы программирования на FORTRAN (ФОРТРАН)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru