Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Куда при сборке gcc с сорсов написать -mfloat-abi=hard ?

1276  1 2 все
wasja-de посетитель22.03.21 13:30
22.03.21 13:30 

Добрый день,


У меня возник вопрос, который не могу решить сам уже больше недели, помогите, пожалуйста, советом.


Есть ембеддед линукс, вернее его вариант на DE10-Nano или DE0-Nano-SoC на нем стоит:


Linux de10-nano 4.1.33-ltsi-altera #1 SMP Thu Mar 30 10:37:56 PDT 2017 armv7l GNU/Linux


с очень стародавним репозитарием на http://feeds.angstrom-distribution.org/feeds/v2016.12/


в котором нет lapack/blas, и есть желание собрать gcc, по возможности новее (или какой получится) с исходников, но чтоб там точно был gfortran и не менее С++14.


Пробовал gcc-10.2, gcc-9-3, gcc-linaro-7.5 собирать там, и кросскомпиллить на 20.04 убунте. Во всех случаях после пары часов сборки возникает ошибка:


/mnt/data/1/gcc-l1/./gcc/xgcc -B/mnt/data/1/gcc-l1/./gcc/ -B/usr/local/armv7l-unknown-linux-gnueabihf/bin/ -B/usr/local/armv7l-unknown-linux-gnueabihf/lib/ -isystem /usr/local/armv7l-unknown-linux-gnueabihf/include -isystem /usr/local/armv7l-unknown-linux-gnueabihf/sys-include -g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -fno-inline -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -fPIC -fno-inline -I. -I. -I../.././gcc -I../../../gcc-linaro-snapshot-7.5-2019.11/libgcc -I../../../gcc-linaro-snapshot-7.5-2019.11/libgcc/. -I../../../gcc-linaro-snapshot-7.5-2019.11/libgcc/../gcc -I../../../gcc-linaro-snapshot-7.5-2019.11/libgcc/../include -DHAVE_CC_TLS -o _negdi2.o -MT _negdi2.o -MD -MP -MF _negdi2.dep -DL_negdi2 -c ../../../gcc-linaro-snapshot-7.5-2019.11/libgcc/libgcc2.c -fvisibility=hidden -DHIDE_EXPORTS In file included from /usr/include/features.h:392:0, from /usr/include/stdio.h:27, from ../../../gcc-linaro-snapshot-7.5-2019.11/libgcc/../gcc/tsystem.h:87, from ../../../gcc-linaro-snapshot-7.5-2019.11/libgcc/libgcc2.c:27: /usr/include/gnu/stubs.h:7:11: fatal error: gnu/stubs-soft.h: No such file or directory


#include <gnu/stubs-soft.h>


compilation terminated. make[3]: *** [Makefile:491: _muldi3.o] Error 1 make[3]: *** Waiting for unfinished jobs…. In file included from /usr/include/features.h:392:0, from /usr/include/stdio.h:27, from ../../../gcc-linaro-snapshot-7.5-2019.11/libgcc/../gcc/tsystem.h:87, from ../../../gcc-linaro-snapshot-7.5-2019.11/libgcc/libgcc2.c:27: /usr/include/gnu/stubs.h:7:11: fatal error: gnu/stubs-soft.h: No such file or directory

#include <gnu/stubs-soft.h>


compilation terminated. make[3]: *** [Makefile:491: _negdi2.o] Error 1 make[3]: Leaving directory ‘/mnt/data/1/gcc-l1/armv7l-unknown-linux-gnueabihf/libgcc’ make[2]: *** [Makefile:18001: all-stage1-target-libgcc] Error 2 make[2]: Leaving directory ‘/mnt/data/1/gcc-l1’ make[1]: *** [Makefile:22758: stage1-bubble] Error 2 make[1]: Leaving directory ‘/mnt/data/1/gcc-l1’ make: *** [Makefile:932: all] Error 2


Гугление на эту ошибку приводит к тому, что надо установить -mfloat-abi=hard во время компиляции.

Я пробовал собирать с такими флагами:


make BOOT_CFLAGS=‘-mfloat-abi=hard -O2’ -j 2


дополнительно засовывал в Makefile в каждый вызов компилера ‘-mfloat-abi=hard’ но падать не перестает.


В репозитарии прикомпилленого gfortran нет, в linaro подходящего уже собраннного gcc, который содержит хотя бы c,c++,fortran - тоже нет.


Пожалуйста, посоветуйте, что я делаю не так и куда правильно надо поместить эту опцию, чтобы избавитться от ошибки компилляции gcc c сорсов?


Спасибо!

#1 
schizo коренной житель22.03.21 16:40
schizo
NEW 22.03.21 16:40 
в ответ wasja-de 22.03.21 13:30

ну, тут этой опции не видно. а Вы ./configure как запускали?

Храни Вас Г-дь!
#2 
AlexNek патриот22.03.21 16:55
AlexNek
NEW 22.03.21 16:55 
в ответ wasja-de 22.03.21 13:30

Сильно сомневаюсь, что бы кто еще сталкивался с подобной проблемой сейчас.

Для АРМа придется повозится, думаю.

https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html


Рекомендуют в makefile добавить

FLAGS = -mfloat-abi=hard


или так

gcc test.o test1.o mfloat-abi=hard


Но что то кажется, что проблема в чём то другом.

#3 
wasja-de посетитель22.03.21 18:33
NEW 22.03.21 18:33 
в ответ schizo 22.03.21 16:40
ну, тут этой опции не видно. а Вы ./configure как запускали?

спасибо большое за содействие! Запускал по классике, в другой директории

../gcc-10.2.0/configure --enable-languages=c,c++,fortran

экспериментировал по включению и выключению использования тредов, причем запускал на самой борде, то есть в "native" режиме.


Уже после "configure" выставлял опции при компиляции


make BOOT_CFLAGS=‘-mfloat-abi=hard -O2’ -j 2


чтобы включить такую оптимизацию, так как в стандартном компилере нет режима -mfloat-abi=soft (там и include соответсвующих нет)


Это не помогало.


Пошел дальше, влез во внутренности Makefile и дописал эту опцию во все вызовы компилера, и родного, и того, что собираю. То есть


FLAGS = -mfloat-abi=hard

и более хардкорно я прописывал, но это не помогало... (спасибо большое, AlexNek за советы)


https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html


регулярно читаю, некоторые опции, как то -march, -mtune, -mcpu, -mfpu постоянно использую. Пробовал их тоже выставить, но тоже не помогло.


Пробовал реально и линаор и 4 разных версии обычного компилятора, везде одно и то же, то есть я, похоже, что-то кардинально не понимаю. В гугле пишут, что это стандартная ошибка, которая лечится опцией -mfloat-abi=hard но я ее же во все вызовы компилятора поставил, и все равно не помогает...

#4 
wasja-de посетитель22.03.21 18:37
NEW 22.03.21 18:37 
в ответ AlexNek 22.03.21 16:55
Сильно сомневаюсь, что бы кто еще сталкивался с подобной проблемой сейчас.

скажите, пожалуйста, а почему Вы так думаете, борда-то вроде только двухлетней давности, и, как я понимаю, проблема будет аналогичной, если кто-то просто захочет развести тот же Cyclone V SoC и поставить туда не бареметал, а линукс.


#5 
AlexNek патриот22.03.21 19:23
AlexNek
NEW 22.03.21 19:23 
в ответ wasja-de 22.03.21 18:37
а почему Вы так думаете

Ну железячников тут вроде не так уж и много. А еще и самому компилер собирать смущ

Всегда был уже готовый. Да и в продакшине использовать самособранный компилятор не каждый решится.

По крайне мере, раньше так было. спок

#6 
wasja-de посетитель22.03.21 19:34
NEW 22.03.21 19:34 
в ответ AlexNek 22.03.21 19:23
Ну железячников тут вроде не так уж и много.

это верно, хотя если смотреть на проблему так: есть борда от интела (вроде не последний производитель) надо бы в ее софтвере наладить что-то, чтоб по крайней мере работало.


Да и в продакшине использовать самособранный компилятор не каждый решится.

ой, золотые слова, если бы Вас еще в Интеле услышали, где эту борду спроектировали и по универам ее барыжат, а для нее даже живого репозитория нет и с сорсов почти ничего не ставится.

#7 
AlexNek патриот22.03.21 21:17
AlexNek
NEW 22.03.21 21:17 
в ответ wasja-de 22.03.21 19:34, Последний раз изменено 22.03.21 21:33 (AlexNek)
где эту борду спроектировали

Название платы я как то пока не заметил и с универами дел не имел смущ Да и с железяк слез уже фиг знает когда.

Но зачем брать то, что нельзя нормально пользовать?


А это чем не подходит? 32 Бита тоже есть...

https://www.ni.com/de-de/support/downloads/software-produc...


Хотя похоже интел не спит

https://software.intel.com/content/www/us/en/develop/artic...

#8 
wasja-de посетитель22.03.21 22:54
NEW 22.03.21 22:54 
в ответ AlexNek 22.03.21 21:17
Название платы я как то пока не заметил


Простите, ссылка не вставилась, а так, да, DE10-Nano https://software.intel.com/content/www/us/en/develop/topic...


и ее младший вариант от Треасика DE0-Nano-SoC https://www.terasic.com.tw/cgi-bin/page/archive.pl?Languag...


Но зачем брать то, что нельзя нормально пользовать?


Честно говоря, я пользовал до этого два десятка кривых и всяких борд от очень даже noname производителей и таких косяков ни разу не видел.


В борде есть одна важная вещь, которой нет ни в одной другой - FPGA совмещенная с армом, мне именно это нужно, ну и чуть-чуть из софта, совсем стандартного - обычный gcc с поддержкой трех компиляторов c,c++,fortran, так как вся математика через lapack вычисляется, а собранных вариантов lapack-blas-fft на эту архитектуру не нашлось. Причем нужны не абы какие, а с максимальной производительностью, типа как делает ATLAS (Automatically Tuned Linear Algebra Software). То есть нужны либо эти библиотеки, либо компилятор фортрана, чтобы ATLAS сам скомпилировал и оптимизировал.


А это чем не подходит? 32 Бита тоже есть...

не, к сожалению, тут только С и С++ и из-за этого lapack-blas-fft не прилинкуешь.

#9 
AlexNek патриот22.03.21 23:12
AlexNek
NEW 22.03.21 23:12 
в ответ wasja-de 22.03.21 22:54, Последний раз изменено 22.03.21 23:20 (AlexNek)
Есть ембеддед линукс, вернее его вариант на DE10-Nano или DE0-Nano-SoC на нем стоит

Я подумал что это о каких то вариантах линукса смущ


обычный gcc с поддержкой трех компиляторов c,c++,fortran

Так получается в этом и состоит проблема С и С++ и fortran?

Хотя для меня немного странно звучит комбинация компилятора для С и фортрана.


А что lapack нельзя самому скомпилить?

https://math.nist.gov/lapack++/

http://lapackpp.sourceforge.net/

#10 
Wanderer_ завсегдатай22.03.21 23:14
NEW 22.03.21 23:14 
в ответ wasja-de 22.03.21 13:30

Удалите все сгенерированные файлы и деректории, которые автоматически были созданы при ошибочной компиляции и запустите компиляцию заново с уже известным флагом (-mfloat-abi=hard).

#11 
wasja-de посетитель22.03.21 23:21
NEW 22.03.21 23:21 
в ответ Wanderer_ 22.03.21 23:14
Удалите все сгенерированные файлы и деректории, которые автоматически были созданы при ошибочной компиляции и запустите компиляцию заново с уже известным флагом (-mfloat-abi=hard).

я только так и делаю, и собираю всегда в новой директории, чтоб ничего случайно не осталось. Флаг хоть в configure, хоть в Makefiile внутри ручками прописывай, все равно падает одинаково.


Можно залинковать soft + hard - тогда в этом месте компиляции все проходит, но падает позже где-то на час. До этого места компилируется около двух часов.

#12 
wasja-de посетитель22.03.21 23:26
NEW 22.03.21 23:26 
в ответ AlexNek 22.03.21 23:12
А что lapack нельзя самому скомпилить?

можно конечно, только там миллион строк на фортране и без фортрановского компилятора это довольно сложно сделать.


Можно сделать f2c, но тогда упадет производительность, причем упадет в 10-20 раз, так как во время компиляции происходит подгонка параметров, чтобы все в кеш влазило и по процессорным конвейерам распихивалось. Борда и так дохлая, если там вычисления в 10 раз медленнее будут проходить, то тогда ее уже использовать будет нельзя.

#13 
AlexNek патриот22.03.21 23:28
AlexNek
NEW 22.03.21 23:28 
в ответ wasja-de 22.03.21 22:54

Вроде фортрана на 32 бита нет

https://pkgs.org/download/gcc-gfortranhttps://pkgs.org/dow...

#14 
wasja-de посетитель22.03.21 23:30
NEW 22.03.21 23:30 
в ответ AlexNek 22.03.21 23:12
Хотя для меня немного странно звучит комбинация компилятора для С и фортрана.


может и не видно со стороны, но эту комбинацию используют все подряд, и NumPy, Octave, Matlab, Mathematics, Ansys, Comsol, и, с большой вероятностью остальные тоже. Просто от фортрана там фактически lapack, blas, иногда еще что-то, но в основном в виде библиотек.


#15 
wasja-de посетитель22.03.21 23:36
NEW 22.03.21 23:36 
в ответ AlexNek 22.03.21 23:28
Вроде фортрана на 32 бита нет


в lubuntu 32 битной есть, а в обычной убунте - вроде 32 битного ничего уже не осталось.

#16 
schizo коренной житель23.03.21 00:03
schizo
NEW 23.03.21 00:03 
в ответ wasja-de 22.03.21 18:33

ну, запустите configure -march=что-у-Вас-там -mfloat-abi=hard


Вам ещё -target надо, если кроскомпилите на убунте

Храни Вас Г-дь!
#17 
wasja-de посетитель23.03.21 00:14
NEW 23.03.21 00:14 
в ответ schizo 23.03.21 00:03
ну, запустите configure -march=что-у-Вас-там -mfloat-abi=hard


так я же и писал, что именно так и делал, но, к сожалению, не помогло. Для простоты функций не кросс-компиллил, то есть собирал прямо на борде.

#18 
UVV старожил23.03.21 09:55
NEW 23.03.21 09:55 
в ответ wasja-de 22.03.21 18:37, Последний раз изменено 23.03.21 09:56 (UVV)
скажите, пожалуйста, а почему Вы так думаете, борда-то вроде только двухлетней давности, и, как я понимаю, проблема будет аналогичной, если кто-то просто захочет развести тот же Cyclone V SoC и поставить туда не бареметал, а линукс.

У меня Cyclone V, вполне себе крутится линукс уже лет 5 как.

в котором нет lapack/blas, и есть желание собрать gcc, по возможности новее (или какой получится) с исходников, но чтоб там точно был gfortran и не менее С++14.

Возьми yocto посвежее, собери что надо и залей на свою плату весь дистр. Я посмотрел, lapack там есть. Если тебе нужно существующий расширить, то тут только секс.

#19 
wasja-de посетитель23.03.21 10:16
NEW 23.03.21 10:16 
в ответ UVV 23.03.21 09:55
Возьми yocto посвежее, собери что надо и залей на свою плату весь дистр. Я посмотрел, lapack там есть. Если тебе нужно существующий расширить, то тут только секс.


спасибо за совет! Это наверное очень правильное решение, ибо у меня там еще заморочки с USB имеются (не все драйверы есть и кернел всяко компиллить придется).


Единственно, что очень сильно останавливает, так это перетаскивание конфигурации ног FPGA-HPS на новый дистрибутив. Возможно я не нагуглил, или чего-то кординально не понимаю.


Скажите, пожалуйста, как перетащить такую "железячную" конфигурацию из моей сборки на свежую yoct-у?


Спасибо!

#20 
UVV старожил23.03.21 11:19
NEW 23.03.21 11:19 
в ответ wasja-de 23.03.21 10:16
так это перетаскивание конфигурации ног FPGA-HPS на новый дистрибутив.

А как конфигурация FPGA связана с линукс? Они вообще ортогональны

#21 
wasja-de посетитель23.03.21 12:04
NEW 23.03.21 12:04 
в ответ UVV 23.03.21 11:19
А как конфигурация FPGA связана с линукс? Они вообще ортогональны

у кого как, я, например, сгружаю прошивку из линукса, посылая ее на /dev/fpga (на DE0-Nano-SoC) и потом через DMA таскаю данные с HPS на FPGA и обратно. Более того, прошивку часто приходится менять - типа 2 минуты - первая прошивка, следующая минута - вторая прошивка, и так по циклу (ресурсов плиски не хватает для хороших таймингов, поэтому так все сложно). К сожалению и трафик между HPS и FPGA у меня не маленький, около 100МБ/с, поэтому правильно установленные модули и всякие настройки для меня важны. Я к сожалению, в этих настройках не очень хорошо разбираюсь и, поэтому, панически боюсь туда лезть, чтобы что-то не навредить.

#22 
UVV старожил23.03.21 15:52
NEW 23.03.21 15:52 
в ответ wasja-de 23.03.21 12:04
посылая ее на /dev/fpga (на DE0-Nano-SoC)

Это только в альтеровском ядре есть. В upstream такого нету. Разве что у intel'a есть обновляшки с такими же дровами.

Скажите, пожалуйста, как перетащить такую "железячную" конфигурацию из моей сборки на свежую yoct-у?

Ну тут только разбираться. Это небыстро и дорого

ресурсов плиски не хватает для хороших таймингов, поэтому так все сложно).

Вангую, что в твоём fpga баг, раз так всё сложно.

#23 
wasja-de посетитель23.03.21 17:33
NEW 23.03.21 17:33 
в ответ UVV 23.03.21 15:52, Последний раз изменено 23.03.21 19:34 (wasja-de)
Вангую, что в твоём fpga баг, раз так всё сложно.


в больший кристалл, например, в стратикс все лезет, но нет подходящей и не дорогой борды, а эта борда по пинам подходит. И где тут может быть баг?


Ну тут только разбираться. Это небыстро и дорого

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

#24 
schizo коренной житель23.03.21 21:04
schizo
NEW 23.03.21 21:04 
в ответ wasja-de 22.03.21 13:30

а покажите, что у Вас gcc -dumpmachine показывает на arm?

Храни Вас Г-дь!
#25 
Wanderer_ завсегдатай23.03.21 22:25
NEW 23.03.21 22:25 
в ответ wasja-de 22.03.21 23:21

Какой у Вас toolchain на плате стоит? Может возможно есть новая сборка и можно просто актуализировать(update)?

Пробовали другой toolchain поставить? Вот здесь есть список.

Пробовали на Вашем Host PC этот GCC собрать?


Почему не хотите поставить на вашем компьютере кросс компилятор для АРМа и на нём же делать компиляцию и отладку для дев-платы?


#26 
wasja-de посетитель24.03.21 08:23
NEW 24.03.21 08:23 
в ответ schizo 23.03.21 21:04

Спасибо за ответы,


gcc -dumpmachine показывает:


arm-angstrom-linux-gnueabi

#27 
wasja-de посетитель24.03.21 08:29
NEW 24.03.21 08:29 
в ответ Wanderer_ 23.03.21 22:25, Последний раз изменено 24.03.21 09:34 (wasja-de)

Какой у Вас toolchain на плате стоит?


Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/arm-angstrom-linux-gnueabi/6.2.1/lto-wrapper
Target: arm-angstrom-linux-gnueabi
Configured with: ../../../../../../work-shared/gcc-linaro-6.2-r2016.11/git/configure --build=x86_64-linux --host=arm-angstrom-linux-gnueabi --target=arm-angstrom-linux-gnueabi --prefix=/usr --exec_prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/usr/share --sysconfdir=/etc --sharedstatedir=/com --localstatedir=/var --libdir=/usr/lib --includedir=/usr/include --oldincludedir=/usr/include --infodir=/usr/share/info --mandir=/usr/share/man --disable-silent-rules --disable-dependency-tracking --with-libtool-sysroot=/build/jenkins/v2016.12/machine/ifc6410/build/tmp-angstrom-glibc/sysroots/ifc6410 --with-gnu-ld --enable-shared --enable-languages=c,c++ --enable-threads=posix --enable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --program-prefix=arm-angstrom-linux-gnueabi- --without-local-prefix --enable-lto --enable-libssp --enable-libitm --disable-bootstrap --disable-libmudflap --with-system-zlib --with-linker-hash-style=gnu --enable-linker-build-id --with-ppl=no --with-cloog=no --enable-checking=release --enable-cheaders=c_global --without-isl --with-float=hard --with-sysroot=/ --with-build-sysroot=/build/jenkins/v2016.12/machine/ifc6410/build/tmp-angstrom-glibc/sysroots/ifc6410 --with-gxx-include-dir=/usr/include/c++/6.2.1 --without-long-double-128 --enable-nls --enable-initfini-array --with-arch=armv7-a
Thread model: posix
gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11)


Пробовали другой toolchain поставить? Вот здесь есть список.


Не получается, в ангстреме нет, другие не ставятся, вернее у меня не получилось.


Пробовали на Вашем Host PC этот GCC собрать?


надо cross-native, я несколько раз пробовал собирать на 9.3 и 10.2, но так и не получилось. crosstool-ng ставил, пытался с его помощью собрать, но, не все до конца понял и поставить не смог.


Почему не хотите поставить на вашем компьютере кросс компилятор для АРМа и на нём же делать компиляцию и отладку для дев-платы?

Нет, так нельзя. Если использовать софт с кросс-компилятора, то производительность будет около 200МФлоп/с, а если оптимизировать на самом арме, то где-то 1.5ГФлопс. Для меня эта разница критична. Оптимизация получается перекомпиляцией сотни вариантов с учетом размеров кеша и конвейерности инструкций, это очень сложно сделать даже для своего софта через cross-compile, а тут используется еще много стороннего софта, который не позволяет делать такую оптимизацию через cross-compile. Я не готов тот же атлас переписать. Я технически понимаю как это сделать, но по времени это на пару лет разработки может потянуть.

#28 
schizo коренной житель24.03.21 11:48
schizo
NEW 24.03.21 11:48 
в ответ wasja-de 24.03.21 08:23

ну вот и попробуйте собрать с ./configure --target=arm-angstrom-linux-gnueabihf

Храни Вас Г-дь!
#29 
wasja-de посетитель24.03.21 12:24
NEW 24.03.21 12:24 
в ответ schizo 24.03.21 11:48
ну вот и попробуйте собрать с ./configure --target=arm-angstrom-linux-gnueabihf

очевидно, что пробовал, и, к сожалению, не собралось. Или вы имеете ввиду как cross-native? Как cross-native не собирал, так как не смог дособрать необходимые тулсы, для этого, а как cross-compile - не интересно, так как это не решает моей задачи, я об этом писал выше.

#30 
Murr патриот24.03.21 12:25
Murr
NEW 24.03.21 12:25 
в ответ wasja-de 24.03.21 08:29

Если использовать софт с кросс-компилятора, то производительность будет около 200МФлоп/с, а если оптимизировать на самом арме, то где-то 1.5ГФлопс.

-----

Так может быть только при неправильной конфигурации либо цeлевой системы, либо опций компилятора.

#31 
Murr патриот24.03.21 12:28
Murr
NEW 24.03.21 12:28 
в ответ wasja-de 24.03.21 12:24

не собралось.

------

Стоит посмотреть в доки - поддерживает ли то что ты берешь из репозитория железо на котором планируешь использовать. По ощущениям - тот пакет что идет с бордой допилен именно под нее.

#32 
wasja-de посетитель24.03.21 17:08
NEW 24.03.21 17:08 
в ответ Murr 24.03.21 12:25
Так может быть только при неправильной конфигурации либо цeлевой системы, либо опций компилятора.


умножение матриц - требует в идеале N*N операций чтения из медленной общей памяти, и N*N*N операций умножения и сложения. Если скорость доступа к памяти в разы медленнее, чем флопы на процессоре (для конкретно этого экземпляра отношение примерно в 50 раз), то так и будет и ни от какой конфигурации системы не зависит. Более детально можно почитать, например, погуглив на ATLAS (Automatically Tuned Linear Algebra Software).


#33 
wasja-de посетитель24.03.21 17:12
NEW 24.03.21 17:12 
в ответ Murr 24.03.21 12:28, Последний раз изменено 24.03.21 17:18 (wasja-de)
Стоит посмотреть в доки - поддерживает ли то что ты берешь из репозитория железо на котором планируешь использовать. По ощущениям - тот пакет что идет с бордой допилен именно под нее.

А, да, выше еще не успел сказать. На этом железе другая сборка без альтеровского ядра на раз поддерживает все, что мне надо, но там нет возможности общаться через DMA c FPGA, и пилить это мне самому не хочется.


Скопировать с того, на эту сборку - не получилось, было много unresolved, в общем, они конечно сильно разные одна - lubuntu, другая - yocto.

#34 
Murr патриот24.03.21 17:37
Murr
NEW 24.03.21 17:37 
в ответ wasja-de 24.03.21 17:08

Если скорость доступа к памяти в разы медленнее, чем

------

Я этого "не пойму" - не в состоянии. смущ


Есть два физически разных компилятора - один на борде, другой на кроссе.

Оба могут компилировать исходники и построить бинарник. ОБА.

Что именно они строят - определяется:

- возможностями компилятора - поскольку ты пытаешься заменить одно другим - принимаем равноценными.

- заданными параметрами построения.

Зависимости от того какой физический процессор выполняет процесс компиляции - нет.

Так что на кроссе нужно правильно выставить конфигурацию, правильно задать параметры и аккуратно закинуть на борду полученный бинарник.

Вроде все. спок

#35 
Murr патриот24.03.21 17:39
Murr
NEW 24.03.21 17:39 
в ответ wasja-de 24.03.21 17:12

сильно разные одна - lubuntu, другая - yocto.

------

Извини - в версиях *никсов Я ничего не понимаю.

#36 
wasja-de посетитель24.03.21 19:13
NEW 24.03.21 19:13 
в ответ Murr 24.03.21 17:39, Последний раз изменено 24.03.21 21:06 (wasja-de)
Извини - в версиях *никсов Я ничего не понимаю.

если не понимаешь, не суйся, будь так любезен. И с предыдущим твоим комментарием - иди мат часть учи. Твой уровень познания, это треугольник со сторонами 5, 10 и 15:


https://foren.germany.ru/programmer/f/37750965.html?Cat=&p...


а эта тема - не твоего уровня.

#37 
Murr патриот24.03.21 19:25
Murr
NEW 24.03.21 19:25 
в ответ wasja-de 24.03.21 19:13

иди мат часть учи

------

Ой....

Мат.часть, к моему сожалению, нужно учить тебе. спок

Ну хотя бы потому, что не получается не у меня... безум

#38 
1 2 все