Jump to content

    

Alexey_Rostov

Свой
  • Content Count

    269
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Alexey_Rostov

  • Rank
    Местный
  • Birthday 04/03/1985

Контакты

  • Сайт
    https://www.linkedin.com/in/alexey-rostov/
  • ICQ
    0

Информация

  • Город
    Минск, Беларусь

Старые поля

  • skype
    farbius85

Recent Profile Visitors

1892 profile views
  1. Спасибо, а что конкретно редактировать необходимо? Я пока в настройках kernel или rootfs в Petalinux пытаюсь уменьшить размер образа, согласно их UG1144 "Managing Image Size"
  2. rootfs.cpio.ext4 у меня есть и настройки в Petalinux выставлял для rootfs не microSD, а initramfs, тогда ругается на нехватку памяти и виснет (хотя редактировать объем памяти в uboot еще не пробовал)
  3. Насчет пина пока разбираюсь, это предположение сделал на основании ответов с форума xilinx. По поводу наличия железа и применения эмуляторов абсолютно разделяю Ваше мнение, но иногда работаю удаленно и отладку запустить возможности нет, поэтому пробую запуск приложений на эмуляторе.
  4. Добрый день! Уважаемые товарищи подскажите пожалуйста решение следующей проблемы. Собрал для Zynq Arty z7-20 платы свой Linux образ с помощью Petalinux 2019.1. Rootfs разворачиваю на microSD. Пытаюсь запустить собранную ОС на QEMU. запуск по команде petalinux-boot --qemu --image ./images/linux/zImage --dtb ./images/linux/system.dtb Система запускается, но виснет на загрузке Rootfs Waiting for root device /dev/mmcblk0p2... cdns-i2c e0004000.i2c: timeout waiting on completion На плате запуск происходит без проблем. Делаю вывод, что QEMU требуется сообщить, что microSD готова для загрузки Rootfs, т.е. определенный пин должен встать в состояние '1' (как это происходит на отладочной плате). Какой пин и как нужно выставить? Я так понимаю достаточно отредактировать system-user.dtsi?
  5. OpenMP + ARM Linux нет увеличения скорости for loop

    Добрый день! DART-MX8M :NXP i.MX8M https://www.variscite.com/product/system-on-module-som/cortex-a53-krait/dart-mx8m-nxp-imx-8m/
  6. OpenMP + ARM Linux нет увеличения скорости for loop

    Спасибо еще раз! Заработало!
  7. OpenMP + ARM Linux нет увеличения скорости for loop

    Спасибо, уже понял, что некорректно ее использовать: в VS по точкам дебага временные затраты другие иллюстрируются....
  8. OpenMP + ARM Linux нет увеличения скорости for loop

    Разницу между start и end. На Винде с клоком тоже работает... cpu_time_used = ((double)(end - start)) / CLOCKS_PER_SEC; Вот вывод консоли для Windows Start programm Time taken by for_loop: 0.401 seconds Time taken by for_loop with openmp: 0.143 seconds Done ! Размер массивов задал 8192х8192. Выйгрыш во времени более чем в два раза
  9. OpenMP + ARM Linux нет увеличения скорости for loop

    Запускаю на Windows в VS 2019, программа работает как и ожидается: использование OpenMP позволило ускорить for в несколько раз. На Ubuntu и на ARM Linux не получается ....
  10. OpenMP + ARM Linux нет увеличения скорости for loop

    Исправил, вынес инициализацию вне for root@imx8m-var-dart:~/test# ./a.out Start programm Time taken by for_loop: 0.05834 seconds Time taken by for_loop with openmp: 0.100663 seconds root@imx8m-var-dart:~/test# без изменений... Запускаю эту же программу под Ubuntu 16.04 alexey@ubuntu:~/test$ g++ main.cpp -fopenmp -I /usr/include/opencv2 -L /usr/lib -lopencv_core alexey@ubuntu:~/test$ ./a.out Start programm Time taken by for_loop: 0.091176 seconds Time taken by for_loop with openmp: 0.017327 seconds alexey@ubuntu:~/test$
  11. OpenMP + ARM Linux нет увеличения скорости for loop

    Я понимаю что вы имеете в виду, но у меня в задаче 4 канала и в каждом канале набор последовательных арифметических действий (умножение\деление\фильтрация) над массивами (изображениями). Вот и пытаюсь оптимизировать программу по быстродействию. Увеличил размер перемножаемых массивов до 2048 х 2048 результат root@imx8m-var-dart:~/test# ./a.out Start programm Time taken by for_loop: 0.931792 seconds Time taken by for_loop with openmp: 1.80278 seconds root@imx8m-var-dart:~/test# С openmp время увеличилось в два раза...
  12. OpenMP + ARM Linux нет увеличения скорости for loop

    Но в каждой итерации у меня перемножаются по два массива... Как я понимаю каждое ядро выполняет по одной итерации. Более того, запускаю программу на Windows в Visual studio, прирост в производительности есть.
  13. Здравствуйте! Подскажите пожалуйста почему при подключении openmp не удается уменьшить время работы программы. Плата imx8 с Cortex A53 Содержимое файла main.cpp #include <iostream> #include <opencv2/opencv.hpp> #include <vector> #include <math.h> #include <time.h> #include <omp.h> #define CHANNELS 4 using namespace std; using namespace cv; int main() { cout << "Start programm" << endl; vector<Mat> matrix_1(CHANNELS); vector<Mat> matrix_2(CHANNELS); vector<Mat> result(CHANNELS); Mat rnd_image = Mat(32, 32, CV_32FC1, Scalar(0)); // matrix initialization clock_t start, end; double cpu_time_used; start = clock(); for (int i = 0; i < CHANNELS; i++) { randn(rnd_image, Scalar(0), Scalar(16000)); rnd_image.copyTo(matrix_1[i]); randn(rnd_image, Scalar(0), Scalar(16000)); rnd_image.copyTo(matrix_2[i]); multiply(matrix_1[i], matrix_2[i], result[i]); } end = clock(); cpu_time_used = ((double)(end - start)) / CLOCKS_PER_SEC; cout << "Time taken by for_loop: " << cpu_time_used << " seconds " << endl; start = clock(); #pragma omp parallel num_threads(2) for (int i = 0; i < CHANNELS; i++) { randn(rnd_image, Scalar(0), Scalar(16000)); rnd_image.copyTo(matrix_1[i]); randn(rnd_image, Scalar(0), Scalar(16000)); rnd_image.copyTo(matrix_2[i]); multiply(matrix_1[i], matrix_2[i], result[i]); } end = clock(); cpu_time_used = ((double)(end - start)) / CLOCKS_PER_SEC; cout << "Time taken by for_loop with openmp: " << cpu_time_used << " seconds " << endl; return 0; } Команда для компиляции (флаг -fopenmp добавлен) g++ main.cpp -fopenmp -I /usr/include/opencv2 -L /usr/lib -lopencv_core Прописал переменную root@imx8m-var-dart:~/test# printenv OMP_NUM_THREADS 2 root@imx8m-var-dart:~/test# Компилирую и запускаю программу root@imx8m-var-dart:~/test# g++ main.cpp -fopenmp -I /usr/include/opencv2 -L /usr/lib -lopencv_core root@imx8m-var-dart:~/test# ./a.out Start programm Time taken by for_loop: 0.000802 seconds Time taken by for_loop with openmp: 0.000789 seconds root@imx8m-var-dart:~/test# По идее время на выполнение должно быть в два раза меньше... Что делаю не так?
  14. Тоже не получилось зашить флеш в данной версии Вивадо. Решение: пересобрал проект и SDK в другой версии.