Mr.Smart
+1
Присоединяюсь к просьбе!
Я еще бы лучше ввести оператор, который бы указывал что например именно этот массив или этот указатель нужно выравнять на указанную границу...
Найдено 13 результатов
- 28.12.2008 00:44:42
- Форум: Free Pascal Compiler
- Тема: Выравнивание данных под работу с SSE
- Ответы: 12
- Просмотры: 9165
- 28.12.2008 00:28:53
- Форум: Free Pascal Compiler
- Тема: Выравнивание данных под работу с SSE
- Ответы: 12
- Просмотры: 9165
Re: Выравнивание данных под работу с SSE
bw
)) Проверил я твоим кодом(хотя до этого также и своим проверял, иначе тему вообще бы не создавал),результаты:
0010D9E8 (1104360 / 16 = 69022,5)
0010D9F8 (1104376 / 16 = 69023,5) и т.д.
" А вдруг никогда не возникнет такой ошибки" - я проверял след. кодом, и сразу же получил ошибку(что естественно ...
)) Проверил я твоим кодом(хотя до этого также и своим проверял, иначе тему вообще бы не создавал),результаты:
0010D9E8 (1104360 / 16 = 69022,5)
0010D9F8 (1104376 / 16 = 69023,5) и т.д.
" А вдруг никогда не возникнет такой ошибки" - я проверял след. кодом, и сразу же получил ошибку(что естественно ...
- 26.12.2008 21:04:29
- Форум: Free Pascal Compiler
- Тема: Выравнивание данных под работу с SSE
- Ответы: 12
- Просмотры: 9165
Re: Выравнивание данных под работу с SSE
bw
Прежде всего, спасибо за ответ )
Про то, что придется хранить два указателя на блок и про идею с общим блок и одним смещением для него, я писал - не вариант, хотя если больше не будет других возможностей, заюзаю это способ.
А то что в ФП 2.2.0 под ГО32 тоже идет выравнивание на 16 байт как и под ...
Прежде всего, спасибо за ответ )
Про то, что придется хранить два указателя на блок и про идею с общим блок и одним смещением для него, я писал - не вариант, хотя если больше не будет других возможностей, заюзаю это способ.
А то что в ФП 2.2.0 под ГО32 тоже идет выравнивание на 16 байт как и под ...
- 24.12.2008 23:18:56
- Форум: Free Pascal Compiler
- Тема: Выравнивание данных под работу с SSE
- Ответы: 12
- Просмотры: 9165
Re: Выравнивание данных под работу с SSE
Огромнеееееейшеееее спасибо!
Т.е. получается вот такая процедура для выделения блока памяти:
Procedure New16(Var P:Pointer;S:Longint);
Begin
GetMem(P,S+16);
S:=Longint(P);
P:=Pointer(S shr 4 shl 4+16);
End;
Как я сам не додумался
Ну а если на уровне компилятора выравнивать? а то в этом методе ...
Т.е. получается вот такая процедура для выделения блока памяти:
Procedure New16(Var P:Pointer;S:Longint);
Begin
GetMem(P,S+16);
S:=Longint(P);
P:=Pointer(S shr 4 shl 4+16);
End;
Как я сам не додумался
Ну а если на уровне компилятора выравнивать? а то в этом методе ...
- 22.12.2008 22:56:38
- Форум: Free Pascal Compiler
- Тема: Выравнивание данных под работу с SSE
- Ответы: 12
- Просмотры: 9165
Выравнивание данных под работу с SSE
Для повышения скорости программы пробую использовать SSE инструкции, но для эффективной работы с этими инструкциями необходимо выравнивать данные на границу 16 (для movaps в частности), иначе смысл этих инструкций в плане скорости теряется. Собственно вопрос: как нужно выравнивать данные в ФП на ...
- 13.12.2008 21:10:49
- Форум: Free Pascal Compiler
- Тема: Проблемы с выделение памяти
- Ответы: 11
- Просмотры: 8621
Re: Проблемы с выделение памяти
Все, всем спасибо за ответы!
Проблема с вылетом решилась: выкинул фришные динамические массивы, заменил их на связку указатель+GetMem.
Осталось теперь с Мем разобраться...
Проблема с вылетом решилась: выкинул фришные динамические массивы, заменил их на связку указатель+GetMem.
Осталось теперь с Мем разобраться...
- 11.12.2008 21:45:50
- Форум: Free Pascal Compiler
- Тема: Проблемы с выделение памяти
- Ответы: 11
- Просмотры: 8621
Re: Проблемы с выделение памяти
Вот еще вопрос, только он совсем "детский": как можно заменить оператор Mem, а то приходиться к нему обращаться для вывода каждого пиксела из буфера на экран (видеорежим 10fh 320х200 32/24 бита без LFB), а хотелось бы копировать блоками по 64 кб?
Отниситесь с понимание к вопросу)))
Отниситесь с понимание к вопросу)))
- 10.12.2008 11:44:14
- Форум: Free Pascal Compiler
- Тема: Проблемы с выделение памяти
- Ответы: 11
- Просмотры: 8621
Re: Проблемы с выделение памяти
Что то нет ответов....эх...
Я кстати в прилагаемом коде комментарием выделил строчку (функция New), на которой происходит вылет.
Еще вот: использую фришные двумерные динамические массивы. Может из-за них проблемы?
А так уже сто раз проверил, вроде с указателя не накосячил.
Я кстати в прилагаемом коде комментарием выделил строчку (функция New), на которой происходит вылет.
Еще вот: использую фришные двумерные динамические массивы. Может из-за них проблемы?
А так уже сто раз проверил, вроде с указателя не накосячил.
- 09.12.2008 02:53:24
- Форум: Free Pascal Compiler
- Тема: Проблемы с выделение памяти
- Ответы: 11
- Просмотры: 8621
Re: Проблемы с выделение памяти
Еще раз спасибо!
Добавил я ключ -gl - он подписал процедуры, но только к первой ошибке с FPU, к ошибке насчет памяти он процедуры не подписал (
Почему происходит запись за границу блока? (
Добавил я ключ -gl - он подписал процедуры, но только к первой ошибке с FPU, к ошибке насчет памяти он процедуры не подписал (
Почему происходит запись за границу блока? (
- 08.12.2008 22:16:34
- Форум: Free Pascal Compiler
- Тема: Проблемы с выделение памяти
- Ответы: 11
- Просмотры: 8621
Re: Проблемы с выделение памяти
Sergei I. Gorelkin
Спасибо, попробую с ключами.
Добавлено спустя 7 минут 7 секунд:
С ключом -gh получил следующее(в атаче). Можете пояснить про вторую ошибку, что то я не оч понял.
Добавлено спустя 12 минут 16 секунд:
Вот кстати рабочий проект, если кому интересно.
Оч тормозит так как: еще ...
Спасибо, попробую с ключами.
Добавлено спустя 7 минут 7 секунд:
С ключом -gh получил следующее(в атаче). Можете пояснить про вторую ошибку, что то я не оч понял.
Добавлено спустя 12 минут 16 секунд:
Вот кстати рабочий проект, если кому интересно.
Оч тормозит так как: еще ...
- 08.12.2008 16:34:11
- Форум: Free Pascal Compiler
- Тема: Проблемы с выделение памяти
- Ответы: 11
- Просмотры: 8621
Re: Проблемы с выделение памяти
Сейчас добавлю, тока не пугайтесь, там много чего эксперементального, так как делал сначала на TP7 а потом портировал на FP)))
А так это в общем скайлайн рендер по Дос
А так это в общем скайлайн рендер по Дос
- 08.12.2008 16:17:35
- Форум: Free Pascal Compiler
- Тема: Проблемы с выделение памяти
- Ответы: 11
- Просмотры: 8621
Re: Проблемы с выделение памяти
Туплю насчет FPC, поправил)))
Выкидывает из программы в консоль, причем не выдает внятных комментов почему.
Экзешник в атаче (прощелкивайте на Enter до ошибки).
Выкидывает из программы в консоль, причем не выдает внятных комментов почему.
Экзешник в атаче (прощелкивайте на Enter до ошибки).
- 08.12.2008 15:32:02
- Форум: Free Pascal Compiler
- Тема: Проблемы с выделение памяти
- Ответы: 11
- Просмотры: 8621
Проблемы с выделение памяти
Здравствуйте, Форумчане))!
Работаю с FPC 2.2.0 под GO32, возникла следующая проблема: при выделение командой New динамической памяти для указателя, происходит ошибка,на экран выводится не сообщение об ошибке, а случайный набор символов и выбрасывает из FP в консоль, несмотря на то что памяти хватает ...
Работаю с FPC 2.2.0 под GO32, возникла следующая проблема: при выделение командой New динамической памяти для указателя, происходит ошибка,на экран выводится не сообщение об ошибке, а случайный набор символов и выбрасывает из FP в консоль, несмотря на то что памяти хватает ...
