![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Elfet |
|
||||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Приветствую!
Столкнулся с проблемой:
Вот такие сообщения получаю когда пытаюсь решить большую разреженную систему. Если система чуточку поменьше то всё считается. Вываливается программа вот тут:
Неужели не хватает памяти? У меня на компе 4ГИГ. + я следил за памятью из диспетчера - там ещё много оставалось. Как мне понять в чем тут проблема и решить её? Заранее спасибо! |
||||
|
|||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 8 Всего: 39 |
Либо операционка не в состоянии переварить все планки ОЗУ, либо что-то другое (в вашей программе, или в другой) отъедает память и некуда свопиться, либо вы перешли порог допустимой памяти для одного процесса, либо кто-то где-то забыл нехилый кусок shared mem.
Ничего другого в голову не приходит... Если проблема одна из этих можно попробовать: ребутнуться, запустить программу на x86_64. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
djamshud, спасибо, буду разбиратся
|
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
для таких вопросов есть отладчик %)
|
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
GoldFinch, а что он мне может сказать?
|
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
Elfet, как минимум он покажет в чем проблема.
|
|||
|
||||
| triclosan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 515 Регистрация: 18.8.2006 Репутация: 1 Всего: 12 |
Скажите, а когда память контейнера заканчивается новая запрашивается аналогично автоматическому резервированию контейнеров стандартной библиотеки - [текущее количество элементов]*2 ?
Это может быть причиной скачка используемой памяти. Это сообщение отредактировал(а) triclosan - 23.4.2010, 12:09 |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Я не знаю в чём причина. Рубится вот тут:
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Elfet
Очень мало информации для внятного ответа..а возможно вообще чтобы память закончилась? Давно я не видел такой ошибки. а это возможно? т.е. сколько примерно памяти используется? какой размер матрицы? какие дополнительные расходы? Может есть утечки и память выделяется в цикле? |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
azesmcar, ну это происходить на первом шаге итерации. Матрицы большие, даже очень. миллион на миллион. пытаемся решать их gmres методом взятым отсюда: http://www.guwi17.de/ublas/examples/
На маленьких до 10 000 матрицах более или мене решается. А вот больше и возникает такая ошибка. Ну если в такое запустить: while(миллион раз) double * leak = new double[1000]; то такая же ошибка возникает |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
||||
|
||||
| Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 8 Всего: 37 |
10000 - это размерность? Это не такая и маленькая матрица. Почти гиг ест. Они же у вас разреженные. Храните только значимые элементы. Так в лоб ИМХО неправильно делать... http://alglib.sources.ru/articles/zeromatr.php Это сообщение отредактировал(а) Sartorius - 23.4.2010, 16:08 |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Sartorius, мы так и делаем
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |