を設定した。-I/usr/local/include
を設定した。-L/usr/local/lib -lopencv_core -lopencv_imgcodecs -lopencv_imgproc
// sobel_fil_axim.cpp
// 2022/11/28 by marsee
#include <stdint.h>
int32_t sobel_fil(int32_t h_or_v, int32_t x0y0, int32_t x1y0, int32_t x2y0, int32_t x0y1,
int32_t x1y1, int32_t x2y1, int32_t x0y2, int32_t x1y2, int32_t x2y2);
int32_t conv_rgb2y(int32_t rbg);
int32_t square_root8(int32_t val);
#define ROW_SIZE 600
#define COL_SIZE 800
#define HORIZONTAL 0
#define VERTICAL 1
int sobel_fil_axim(int32_t *cam_fb, int32_t *sobel_fb){
#pragma HLS INTERFACE mode=s_axilite port=return
#pragma HLS INTERFACE mode=m_axi depth=480000 port=cam_fb offset=slave
#pragma HLS INTERFACE mode=m_axi depth=480000 port=sobel_fb offset=slave
int32_t sobel_val, sobel_h_val, sobel_v_val;
int32_t pix[3][3];
for(int y=0; y<ROW_SIZE; y++){
//#pragma HLS performance target_ti=800
for(int x=0; x<COL_SIZE; x++){
for(int i=2; i>=0; --i){
for(int j=2; j>=0; --j){
if(x>=2 && y>=2)
pix[i][j] = conv_rgb2y(cam_fb[(y-i)*COL_SIZE+(x-j)]);
else
pix[i][j] = 0;
}
}
sobel_h_val = sobel_fil(HORIZONTAL, pix[0][0], pix[0][1], pix[0][2],
pix[1][0], pix[1][1], pix[1][2],
pix[2][0], pix[2][1], pix[2][2]);
sobel_v_val = sobel_fil(VERTICAL, pix[0][0], pix[0][1], pix[0][2],
pix[1][0], pix[1][1], pix[1][2],
pix[2][0], pix[2][1], pix[2][2]);
sobel_val = square_root8(sobel_h_val*sobel_h_val + sobel_v_val*sobel_v_val);
if(x<2 || y<2)
sobel_val = 0;
sobel_fb[y*COL_SIZE+x] = (sobel_val<<16)+(sobel_val<<8)+sobel_val;
}
}
return(0);
}
// RGBからYへの変換
// RGBのフォーマットは、{R(8bits), G(8bits), B(8bits)}, 1pixel = 32bits
// 輝度信号Yのみに変換する。変換式は、Y = 0.299R + 0.587G + 0.114B
// "YUVフォーマット及び YUV<->RGB変換"を参考にした。http://vision.kuee.kyoto-u.ac.jp/~hiroaki/firewire/yuv.html
// 2013/09/27 : float を止めて、すべてint にした
int32_t conv_rgb2y(int32_t rgb){
int32_t r, g, b, y_f;
int32_t y;
b = rgb & 0xff;
g = (rgb>>8) & 0xff;
r = (rgb>>16) & 0xff;
y_f = 77*r + 150*g + 29*b; //y_f = 0.299*r + 0.587*g + 0.114*b;の係数に256倍した
y = y_f >> 8; // 256で割る
return(y);
}
// sobel filter
// HORZONTAL
// x0y0 x1y0 x2y0 1 2 1
// x0y1 x1y1 x2y1 0 0 0
// x0y2 x1y2 x2y2 -1 -2 -1
// VERTICAL
// x0y0 x1y0 x2y0 1 0 -1
// x0y1 x1y1 x2y1 2 0 -2
// x0y2 x1y2 x2y2 1 0 -1
int32_t sobel_fil(int32_t h_or_v, int32_t x0y0, int32_t x1y0, int32_t x2y0, int32_t x0y1,
int32_t x1y1, int32_t x2y1, int32_t x0y2, int32_t x1y2, int32_t x2y2){
int32_t y;
if(h_or_v == HORIZONTAL){
y = x0y0 + 2*x1y0 + x2y0 - x0y2 - 2*x1y2 - x2y2;
} else {
y = x0y0 - x2y0 + 2*x0y1 - 2*x2y1 + x0y2 - x2y2;
}
if(y<0)
y = -y;
//y = 0;
else if(y>255) // 8 bits
y = 255;
return(y);
}
// square_root8
// 8 bit幅のsquare_rootを求める
int32_t square_root8(int32_t val){
int32_t temp = 0;
int32_t square;
for(int i=7; i>=0; --i){
temp += (1 << i);
square = temp * temp;
if(square > val){
temp -= (1 << i);
}
}
return(temp);
}
// sobel_fil_axim_tb.cpp
// 2022/11/29 by marsee
#include <stdio.h>
#include <stdint.h>
#include <ap_int.h>
#include <hls_stream.h>
#include <ap_axi_sdata.h>
#include "opencv2/opencv.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgcodecs/imgcodecs.hpp"
#define HORIZONTAL 0
#define VERTICAL 1
int sobel_fil_axim(int32_t *cam_fb, int32_t *sobel_fb);
int sobel_filter_soft(int32_t *cam_fb, int32_t *sobel_fb,
int32_t x_size, int32_t y_size);
int32_t square_root8_soft(int32_t val);
int32_t sobel_fil_soft(int32_t h_or_v, int32_t x0y0, int32_t x1y0, int32_t x2y0, int32_t x0y1,
int32_t x1y1, int32_t x2y1, int32_t x0y2, int32_t x1y2, int32_t x2y2);
int32_t conv_rgb2y_soft(int32_t rbg);
const char INPUT_JPG_FILE[] = "test2.jpg";
const char OUTPUT_JPG_FILE[] = "sobel.jpg";
int main(){
// JPG ファイルをMat に読み込む
cv::Mat img = cv::imread(INPUT_JPG_FILE);
// ピクセルを入れる領域の確保
std::vector<int32_t> rd_bmp(sizeof(int32_t)*img.cols*img.rows);
std::vector<int32_t> hw_sobel(sizeof(int32_t)*(img.cols)*(img.rows));
std::vector<int32_t> sw_sobel(sizeof(int32_t)*(img.cols)*(img.rows));
// rd_bmp にJPGのピクセルを代入
cv::Mat_<cv::Vec3b> dst_vec3b = cv::Mat_<cv::Vec3b>(img);
for (int y=0; y<img.rows; y++){
for (int x=0; x<img.cols; x++){
cv::Vec3b pixel;
pixel = dst_vec3b(y,x);
rd_bmp[y*img.cols+x] = (pixel[0] & 0xff) | ((pixel[1] & 0xff)<<8) | ((pixel[2] & 0xff)<<16); // RGB 8 bits
// blue - pixel[0]; green - pixel[1]; red - pixel[2];
}
}
sobel_fil_axim(rd_bmp.data(), hw_sobel.data()); // ハードウェアのソーベルフィルタ
sobel_filter_soft(rd_bmp.data(), sw_sobel.data(), img.cols, img.rows); // ソフトウェアのソーベルフィルタ
// ハードウェアとソフトウェアのソーベルフィルタの値のチェック
for (int y=0; y<img.rows; y++){
for (int x=0; x<img.cols; x++){
if (hw_sobel[y*img.cols+x] != sw_sobel[y*img.cols+x]){
printf("ERROR HW and SW results mismatch x = %ld, y = %ld, HW = %x, SW = %x\n",
x, y, hw_sobel[y*img.cols+x], sw_sobel[y*(img.cols-2)+x]);
return(1);
}
}
}
printf("Success HW and SW results match\n");
const int sobel_row = img.rows;
const int sobel_cols = img.cols;
cv::Mat wbmpf(sobel_row, sobel_cols, CV_8UC3);
// wbmpf にsobel フィルタ処理後の画像を入力
cv::Mat_<cv::Vec3b> sob_vec3b = cv::Mat_<cv::Vec3b>(wbmpf);
for (int y=0; y<wbmpf.rows; y++){
for (int x=0; x<wbmpf.cols; x++){
cv::Vec3b pixel;
pixel = sob_vec3b(y,x);
int32_t rbg = hw_sobel[y*wbmpf.cols+x];
pixel[0] = ((rbg >> 8) & 0xff); // blue
pixel[1] = (rbg & 0xff); // green
pixel[2] = ((rbg >> 16) & 0xff); // red
sob_vec3b(y,x) = pixel;
}
}
// ハードウェアのソーベルフィルタの結果を jpg ファイルへ出力する
cv::imwrite(OUTPUT_JPG_FILE, wbmpf);
return(0);
}
int sobel_filter_soft(int32_t *cam_fb, int32_t *sobel_fb,
int32_t x_size, int32_t y_size){
int32_t sobel_val, sobel_h_val, sobel_v_val;
int32_t pix[3][3];
for(int y=0; y<y_size; y++){
for(int x=0; x<x_size; x++){
for(int i=2; i>=0; --i){
for(int j=2; j>=0; --j){
if(x>=2 && y>=2)
pix[i][j] = conv_rgb2y_soft(cam_fb[(y-i)*x_size+(x-j)]);
else
pix[i][j] = 0;
}
}
sobel_h_val = sobel_fil_soft(HORIZONTAL,pix[0][0], pix[0][1], pix[0][2],
pix[1][0], pix[1][1], pix[1][2],
pix[2][0], pix[2][1], pix[2][2]);
sobel_v_val = sobel_fil_soft(VERTICAL, pix[0][0], pix[0][1], pix[0][2],
pix[1][0], pix[1][1], pix[1][2],
pix[2][0], pix[2][1], pix[2][2]);
sobel_val = square_root8_soft(sobel_h_val*sobel_h_val + sobel_v_val*sobel_v_val);
if(x<2 || y<2)
sobel_val = 0;
sobel_fb[y*x_size+x] = (sobel_val<<16)+(sobel_val<<8)+sobel_val;
}
}
return(0);
}
// RGBからYへの変換
// RGBのフォーマットは、{R(8bits), G(8bits), B(8bits)}, 1pixel = 32bits
// 輝度信号Yのみに変換する。変換式は、Y = 0.299R + 0.587G + 0.114B
// "YUVフォーマット及び YUV<->RGB変換"を参考にした。http://vision.kuee.kyoto-u.ac.jp/~hiroaki/firewire/yuv.html
// 2013/09/27 : float を止めて、すべてint にした
int32_t conv_rgb2y_soft(int32_t rgb){
int32_t r, g, b, y_f;
int32_t y;
b = rgb & 0xff;
g = (rgb>>8) & 0xff;
r = (rgb>>16) & 0xff;
y_f = 77*r + 150*g + 29*b; //y_f = 0.299*r + 0.587*g + 0.114*b;の係数に256倍した
y = y_f >> 8; // 256で割る
return(y);
}
// sobel filter
// HORZONTAL
// x0y0 x1y0 x2y0 1 2 1
// x0y1 x1y1 x2y1 0 0 0
// x0y2 x1y2 x2y2 -1 -2 -1
// VERTICAL
// x0y0 x1y0 x2y0 1 0 -1
// x0y1 x1y1 x2y1 2 0 -2
// x0y2 x1y2 x2y2 1 0 -1
int32_t sobel_fil_soft(int32_t h_or_v, int32_t x0y0, int32_t x1y0, int32_t x2y0, int32_t x0y1,
int32_t x1y1, int32_t x2y1, int32_t x0y2, int32_t x1y2, int32_t x2y2){
int32_t y;
if(h_or_v == HORIZONTAL){
y = x0y0 + 2*x1y0 + x2y0 - x0y2 - 2*x1y2 - x2y2;
} else {
y = x0y0 - x2y0 + 2*x0y1 - 2*x2y1 + x0y2 - x2y2;
}
if(y<0)
y = -y;
//y = 0;
else if(y>255)
y = 255;
return(y);
}
// square_root8_soft
// 8 bit幅のsquare_rootを求める
int32_t square_root8_soft(int32_t val){
int32_t temp = 0;
int32_t square;
for(int i=7; i>=0; --i){
temp += (1 << i);
square = temp * temp;
if(square > val){
temp -= (1 << i);
}
}
return(temp);
}
Cannot apply performance pragma target_ti=800 cycles for loop 'LOOP_Y' in function 'sobel_axis_RGB24'. The target requires a pipeline II less than the minimal achievable II of 4 determined by the number of conflicting accesses on local memory 'tmp.i.i47' (4 per iteration), the number of conflicting accesses on local memory 'tmp.i.i29' (4 per iteration), the number of conflicting accesses on local memory 'tmp.i.i192' (4 per iteration)
// sobel_axis_RGB24.cpp
// 2022/03/20 by marsee
// Up to HD resolution
// 2022/03/23 : Added keep and strb
// 2022/03/26 : axi_vdma と axi dma 用に分けた
// 2022/11/27 : perfomance プラグマを追加
// 2022/11/28 : row_size を 600、col_size を 800 に固定した
#include <stdint.h>
#include <ap_int.h>
#include <hls_stream.h>
#include <ap_axi_sdata.h>
#include "sobel_axis_RGB24.h"
ap_int<32> sobel_fil(ap_int<32> h_or_v, ap_int<32> x0y0, ap_int<32> x1y0, ap_int<32> x2y0, ap_int<32> x0y1,
ap_int<32> x1y1, ap_int<32> x2y1, ap_int<32> x0y2, ap_int<32> x1y2, ap_int<32> x2y2);
ap_int<32> conv_rbg2y(ap_int<32> rbg);
ap_int<32> square_root8(ap_int<32> val);
#define row_size 600
#define col_size 800
int sobel_axis_RGB24(hls::stream<ap_axiu<24,1,1,1> >& ins,
hls::stream<ap_axiu<24,1,1,1> >& outs, int32_t function){
#pragma HLS INTERFACE mode=s_axilite port=function
#pragma HLS INTERFACE mode=axis register_mode=both port=outs register
#pragma HLS INTERFACE mode=axis register_mode=both port=ins register
#pragma HLS INTERFACE mode=s_axilite port=return
ap_axiu<24,1,1,1> pix;
ap_axiu<24,1,1,1> sobel;
ap_int<32> sobel_val, sobel_h_val, sobel_v_val;
ap_int<32> line_buf[2][1920]; // Up to HD resolution
//#pragma HLS array_partition variable=line_buf block factor=2 dim=1
ap_int<32> pix_mat[3][3];
//#pragma HLS array_partition variable=pix_mat complete
LOOP_WAIT_USER : do { // user が 1になった時にフレームがスタートする
#pragma HLS LOOP_TRIPCOUNT min=1 max=1 avg=1
ins >> pix;
if(function==ORG_IMGwAxiDma || function==SOBELwAxiDma)
break;
} while(pix.user == 0);
LOOP_Y: for(int y=0; y<row_size; y++){
#pragma HLS LOOP_TRIPCOUNT avg=600 max=600 min=600
//#pragma HLS performance target_ti=800
LOOP_X: for(int x=0; x<col_size; x++){
#pragma HLS LOOP_TRIPCOUNT avg=800 max=800 min=800
//#pragma HLS PIPELINE II=1
if (!(x==0 && y==0)) // 最初の入力はすでに入力されている
ins >> pix; // AXI4-Stream からの入力
LOOP_PIX_MAT_K: for(int k=0; k<3; k++){
LOOP_PIX_MAT_M: for(int m=0; m<2; m++){
pix_mat[k][m] = pix_mat[k][m+1];
}
}
pix_mat[0][2] = line_buf[0][x];
pix_mat[1][2] = line_buf[1][x];
ap_int<32> y_val = conv_rbg2y(pix.data);
pix_mat[2][2] = y_val;
line_buf[0][x] = line_buf[1][x]; // 行の入れ替え
line_buf[1][x] = y_val;
sobel_h_val = sobel_fil(HORIZONTAL, pix_mat[0][0], pix_mat[0][1], pix_mat[0][2],
pix_mat[1][0], pix_mat[1][1], pix_mat[1][2],
pix_mat[2][0], pix_mat[2][1], pix_mat[2][2]);
sobel_v_val = sobel_fil(VERTICAL, pix_mat[0][0], pix_mat[0][1], pix_mat[0][2],
pix_mat[1][0], pix_mat[1][1], pix_mat[1][2],
pix_mat[2][0], pix_mat[2][1], pix_mat[2][2]);
sobel_val = square_root8(sobel_h_val*sobel_h_val + sobel_v_val*sobel_v_val);
sobel.data = (sobel_val<<16)+(sobel_val<<8)+sobel_val;
if(x<2 || y<2)
sobel.data = 0;
if(function==ORG_IMGwAxiVdma || function == SOBELwAxiVdma){
if(x==0 && y==0) // 最初のピクセル
sobel.user = 1;
else
sobel.user = 0;
if(x == (col_size-1)) // 行の最後
sobel.last = 1;
else
sobel.last = 0;
}else{
sobel.user = 0;
sobel.last = pix.last;
}
sobel.keep = 0x7;
sobel.strb = 0x7;
if(function==SOBELwAxiVdma || function==SOBELwAxiDma)
outs << sobel;
else
outs << pix;
}
}
return(0);
}
// RBGからYへの変換
// RBGのフォーマットは、{R(8bits), G(8bits), B(8bits)}, 1pixel = 32bits
// 輝度信号Yのみに変換する。変換式は、Y = 0.299R + 0.587G + 0.114B
// "YUVフォーマット及び YUV<->RGB変換"を参考にした。http://vision.kuee.kyoto-u.ac.jp/~hiroaki/firewire/yuv.html
// 2013/09/27 : float を止めて、すべてint にした
ap_int<32> conv_rbg2y(ap_int<32> rbg){
ap_int<32> r, g, b, y_f;
ap_int<32> y;
b = rbg & 0xff;
g = (rbg>>8) & 0xff;
r = (rbg>>16) & 0xff;
y_f = 77*r + 150*g + 29*b; //y_f = 0.299*r + 0.587*g + 0.114*b;の係数に256倍した
y = y_f >> 8; // 256で割る
return(y);
}
// sobel filter
// HORZONTAL
// x0y0 x1y0 x2y0 1 2 1
// x0y1 x1y1 x2y1 0 0 0
// x0y2 x1y2 x2y2 -1 -2 -1
// VERTICAL
// x0y0 x1y0 x2y0 1 0 -1
// x0y1 x1y1 x2y1 2 0 -2
// x0y2 x1y2 x2y2 1 0 -1
ap_int<32> sobel_fil(ap_int<32> h_or_v, ap_int<32> x0y0, ap_int<32> x1y0, ap_int<32> x2y0, ap_int<32> x0y1,
ap_int<32> x1y1, ap_int<32> x2y1, ap_int<32> x0y2, ap_int<32> x1y2, ap_int<32> x2y2){
ap_int<32> y;
if(h_or_v == HORIZONTAL){
y = x0y0 + 2*x1y0 + x2y0 - x0y2 - 2*x1y2 - x2y2;
} else {
y = x0y0 - x2y0 + 2*x0y1 - 2*x2y1 + x0y2 - x2y2;
}
if(y<0)
y = -y;
//y = 0;
else if(y>255) // 8 bits
y = 255;
return(y);
}
// square_root8
// 8 bit幅のsquare_rootを求める
ap_int<32> square_root8(ap_int<32> val){
ap_int<32> temp = 0;
ap_int<32> square;
for(int i=7; i>=0; --i){
temp += (1 << i);
square = temp * temp;
if(square > val){
temp -= (1 << i);
}
}
return(temp);
}
xilinx-k26-starterkit-20221:~/kv260_median/dpu/vitis_ai_dpu_median_yolo$ sudo ./median_demo_yolov4 ../compiled/yolov4_leaky_416_tf.prototxt ../compiled/yolov4_leaky_416_tf.xmodel test2.jpg image
../compiled/yolov4_leaky_416_tf.prototxt ../compiled/yolov4_leaky_416_tf.xmodel test2.jpgModel Initialize Done
phys_addr = 40000000
in_img_total_bytes = 1441792
tvmonitor 0.985391 151.825 451.825 50.2466 335.823
tvmonitor 0.599225 0.870854 197.449 150.53 287.931
mouse 0.939509 462.855 526.316 313.673 346.846
mouse 0.877212 624.63 663.122 234.817 254.938
mouse 0.318674 621.84 666.77 227.559 259.926
keyboard 0.998828 277.435 500.512 314.605 444.413
cell phone 0.332537 354.317 476.452 415.798 503.778
// median_demo_yolo4.cpp
// 2022/11/23
// Combined demo_yolo4.cpp and median_pf.cpp.
// https://github.com/lp6m/vitis_ai_dpu_yolo/blob/master/demo_yolov4.cpp
// https://marsee101.blog.fc2.com/blog-entry-5747.html
#include <glog/logging.h>
#include <google/protobuf/text_format.h>
#include <cmath>
#include <iostream>
#include <numeric>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <vitis/ai/dpu_task.hpp>
#include <vitis/ai/nnpp/yolov3.hpp>
#include <fstream>
#include <map>
#include <vector>
#include <math.h>
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <unistd.h>
#define BLOCK_SIZE 4096
#define MIDEAIN_REG_ADDR 0x80020000
#define AXI_DMA_REG_ADDR 0x80010000
#define IMAGE_WIDTH 800
#define IMAGE_HEIGHT 600
#define MAT_IMGAGE_BUF (IMAGE_WIDTH*IMAGE_HEIGHT*3)
#define MM2S_CONTROL_REG 0x00
#define MM2S_STATUS_REG (0x4 >> 2)
#define MM2S_START_ADDR (0x18 >> 2)
#define MM2S_LENGTH_REG (0x28 >> 2)
#define S2MM_CONTROL_REG (0x30 >> 2)
#define S2MM_STATUS_REG (0x34 >> 2)
#define S2MM_DESTINATION_ADDR (0x48 >> 2)
#define S2MM_LENGTH_REG (0x58 >> 2)
// bits 1 - idle
#define MM2S_IDLE_MASK 0x2
#define S2MM_IDLE_MASK 0x2
#define MEDIAN_CONTROL 0x00
#define MEDIAN_FUNCTION_R (0x18 >> 2)
#define MEDIAN_ROW_SIZE (0x20 >> 2)
#define MEDIAN_COL_SIZE (0x28 >> 2)
volatile uint32_t *reg;
using namespace std;
using namespace cv;
// The parameters of yolov3_voc, each value could be set as actual needs.
// Such format could be refer to the prototxts in /etc/dpu_model_param.d.conf/.
const string readFile(const char *filename){
ifstream ifs(filename);
return string(istreambuf_iterator<char>(ifs),
istreambuf_iterator<char>());
}
class YoloRunner{
public:
unique_ptr<vitis::ai::DpuTask> task;
vitis::ai::proto::DpuModelParam modelconfig;
cv::Size model_input_size;
vector<vitis::ai::library::InputTensor> input_tensor;
struct bbox{
int label;
float xmin;
float ymin;
float width;
float height;
float score;
bbox(vitis::ai::YOLOv3Result::BoundingBox yolobbox, float img_width, float img_height){
this->label = yolobbox.label;
this->score = yolobbox.score;
// does not clamp here
this->xmin = yolobbox.x * img_width;
this->ymin = yolobbox.y * img_height;
this->width = yolobbox.width * img_width;
this->height = yolobbox.height * img_height;
}
};
public: YoloRunner(const char* modelconfig_path, const char* modelfile_path){
const string config_str = readFile(modelconfig_path);
auto ok = google::protobuf::TextFormat::ParseFromString(config_str, &(this->modelconfig));
if (!ok) {
cerr << "Set parameters failed!" << endl;
abort();
}
this->task = vitis::ai::DpuTask::create(modelfile_path);
this->input_tensor = task->getInputTensor(0u);
int width = this->input_tensor[0].width;
int height = this->input_tensor[0].height;
this->model_input_size = cv::Size(width, height);
this->task->setMeanScaleBGR({0.0f, 0.0f, 0.0f},
{0.00390625f, 0.00390625f, 0.00390625f});
}
private: cv::Mat Preprocess(cv::Mat img){
cv::Mat resized_img;
cv::resize(img, resized_img, this->model_input_size);
return resized_img;
}
public: vector<bbox> Run(cv::Mat img){
cv::Mat resized_img = this->Preprocess(img);
vector<int> input_cols = {img.cols};
vector<int> input_rows = {img.rows};
vector<cv::Mat> inputs = {resized_img};
task->setImageRGB(inputs);
task->run(0);
auto output_tensor = task->getOutputTensor(0u);
auto results = vitis::ai::yolov3_post_process(
input_tensor, output_tensor, this->modelconfig, input_cols, input_rows);
auto result = results[0]; //batch_size is 1
vector<bbox> bboxes;
for(auto& yolobbox: result.bboxes){
bboxes.push_back(bbox(yolobbox, img.cols, img.rows));
}
return bboxes;
}
};
std::string get_basename(std::string& path) {
int l = path.find_last_of('/')+1;
int r = path.find_last_of('.');
return path.substr(l, r-l);
}
map<string, string> bbox_to_map(YoloRunner::bbox bbox, int frame_id){
map<string, string> res;
res["frame_id"] = to_string(frame_id);
res["prob"] = to_string(bbox.score);
res["x"] = to_string(bbox.xmin);
res["y"] = to_string(bbox.ymin);
res["width"] = to_string(bbox.width);
res["height"] = to_string(bbox.height);
return res;
}
int main(int argc, char* argv[]) {
int fd;
volatile uint32_t *median_reg, *axi_dma_reg;
volatile uint8_t *pict_buf;
uint32_t phy_addr;
uint32_t phy_addr_base;
int addr, wd;
uint32_t write_data;
cv::Mat in_img, median_img;
int fd_udmabuf;
u_int32_t fd_paddr;
unsigned char attr[1024];
unsigned long phys_addr;
if (argc != 5) {
cerr << "usage ./a.out config(.prototxt) modelfile(.xmodel) image(.jpg) image" << endl;
}
char* configfile = argv[1];
char* modelfile = argv[2];
string img_or_video_file = string(argv[3]);
cout << configfile << " " << modelfile << " " << img_or_video_file;
auto runner = YoloRunner(configfile, modelfile);
cout << "Model Initialize Done" << endl;
std::string img_or_video_mode = std::string(argv[4]);
if (img_or_video_mode == "image") {
in_img = cv::imread(img_or_video_file);
median_img.create(cv::Size(in_img.cols, in_img.rows), CV_8UC3);
fd = open("/dev/mem", O_RDWR | O_SYNC);
if (fd == -1){
fprintf(stderr, "/dev/mem open error\n");
exit(-1);
}
// median_filter registers
median_reg = (uint32_t *)mmap(NULL, BLOCK_SIZE,
PROT_READ | PROT_WRITE, MAP_SHARED,
fd, MIDEAIN_REG_ADDR );
if ((int64_t)median_reg == -1){
fprintf(stderr,"/dev/mem map error for median_filter registers\n");
exit(-1);
}
// axi_dma registers
axi_dma_reg = (uint32_t *)mmap(NULL, BLOCK_SIZE,
PROT_READ | PROT_WRITE, MAP_SHARED,
fd, AXI_DMA_REG_ADDR );
if ((int64_t)axi_dma_reg == -1){
fprintf(stderr,"/dev/mem map error for axi_dma registers\n");
exit(-1);
}
// udmabuf0
fd_udmabuf = open("/dev/udmabuf0", O_RDWR | O_SYNC); // frame_buffer, The chache is disabled.
if (fd_udmabuf == -1){
fprintf(stderr, "/dev/udmabuf0 open errorn");
exit(-1);
}
// phys_addr of udmabuf0
fd_paddr = open("/sys/class/u-dma-buf/udmabuf0/phys_addr", O_RDONLY);
if (fd_paddr == -1){
fprintf(stderr, "/sys/class/u-dma-buf/udmabuf0/phys_addr open errorn");
exit(-1);
}
read(fd_paddr, (void *)attr, 1024);
sscanf((const char *)attr, "%lx", &phys_addr);
close(fd_paddr);
printf("phys_addr = %x\n", (unsigned int)phys_addr);
uint32_t total_bytes = in_img.total()*in_img.channels();
uint32_t in_img_total_bytes = (in_img.total()*in_img.channels()+4096) & 0xfffff000; // 4k byte boundary
printf("in_img_total_bytes = %d\n", in_img_total_bytes);
pict_buf = (volatile uint8_t *)mmap(NULL, in_img_total_bytes*2, PROT_READ|PROT_WRITE, MAP_SHARED, fd_udmabuf, 0);
if (pict_buf == MAP_FAILED){
fprintf(stderr, "org_mat mmap error\n");
exit(-1);
}
// Copy Mat data from in_img to org_mat
uint8_t *in_img_data = in_img.data;
for(int i=0; i<total_bytes; i++){
pict_buf[i] = in_img_data[i];
}
// Halting Run DMA
axi_dma_reg[MM2S_CONTROL_REG] = 1; // MM2S DMA Controll Reg. Run
axi_dma_reg[S2MM_CONTROL_REG] = 1; // S2MM DMA Control Reg. Run
uint32_t median_mat_addr = (uint32_t)phys_addr+in_img_total_bytes;
uint32_t org_mat_addr = (uint32_t)phys_addr;
// axi dma settings
axi_dma_reg[S2MM_DESTINATION_ADDR] = median_mat_addr;
axi_dma_reg[MM2S_START_ADDR] = org_mat_addr;
axi_dma_reg[S2MM_LENGTH_REG] = total_bytes;
axi_dma_reg[MM2S_LENGTH_REG] = total_bytes;
// median filter start
median_reg[MEDIAN_COL_SIZE] = in_img.cols;
median_reg[MEDIAN_ROW_SIZE] = in_img.rows;
median_reg[MEDIAN_FUNCTION_R] = 3; // median filter for AXI DMA
median_reg[MEDIAN_CONTROL] = 1; // ap_start
// DMA completion detection
uint32_t mm2s_status_reg = axi_dma_reg[MM2S_STATUS_REG] & MM2S_IDLE_MASK;
while(mm2s_status_reg != MM2S_IDLE_MASK){
mm2s_status_reg = axi_dma_reg[MM2S_STATUS_REG] & MM2S_IDLE_MASK;
}
uint32_t s2mm_status_reg = axi_dma_reg[S2MM_STATUS_REG] & S2MM_IDLE_MASK;
while(s2mm_status_reg != S2MM_IDLE_MASK){
s2mm_status_reg = axi_dma_reg[S2MM_STATUS_REG] & S2MM_IDLE_MASK;
}
// Copy median image data from median_mat to megian_img
uint8_t *median_img_data = median_img.data;
for(int i=0; i<total_bytes; i++){
median_img_data[i] = pict_buf[in_img_total_bytes+i];
}
cv::Mat img;
resize(median_img, img, cv::Size(), 768.0/median_img.cols, 576.0/median_img.rows);
vector<YoloRunner::bbox> bboxes = runner.Run(median_img);
string label_names[] = {"person", "bicycle", "car", "motorbike", "aeroplane", "bus", "train", "truck", "boat", "traffic light", "fire hydrant", "stop sign", "parking meter", "bench", "bird", "cat", "dog", "horse", "sheep", "cow", "elephant", "bear", "zebra", "giraffe", "backpack", "umbrella", "handbag", "tie", "suitcase", "frisbee", "skis", "snowboard", "sports ball", "kite", "baseball bat", "baseball glove", "skateboard", "surfboard", "tennis racket", "bottle", "wine glass", "cup", "fork", "knife", "spoon", "bowl", "banana", "apple", "sandwich", "orange", "broccoli", "carrot", "hot dog", "pizza", "donut", "cake", "chair", "sofa", "pottedplant", "bed", "diningtable", "toilet", "tvmonitor", "laptop", "mouse", "remote", "keyboard", "cell phone", "microwave", "oven", "toaster", "sink", "refrigerator", "book", "clock", "vase", "scissors", "teddy bear", "hair drier", "toothbrush"};
for (auto& box : bboxes) {
int label = box.label;
float confidence = box.score;
float xmin = max(0.0f, box.xmin);
float ymin = max(0.0f, box.ymin);
float xmax = min(box.xmin + box.width, (float)img.cols-1.0f);
float ymax = min(box.ymin + box.height, (float)img.rows-1.0f);
cout << label_names[box.label] << " " << box.score << " " << xmin << " " << xmax << " " << ymin << " " << ymax << endl;
rectangle(img, Point(xmin, ymin), Point(xmax, ymax),
Scalar(0, 255, 0), 3, 1, 0);
}
imwrite("result.jpg", img);
} else {
cerr << "unknown mode :" << img_or_video_mode << endl;
}
return 0;
}
#
# Copyright 2019 Xilinx Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# 2022/11/23 : Changed demo_yolov4 to median_demo_yolov4. by marsee
result=0 && pkg-config --list-all | grep opencv4 && result=1
if [ $result -eq 1 ]; then
OPENCV_FLAGS=$(pkg-config --cflags --libs-only-L opencv4)
else
OPENCV_FLAGS=$(pkg-config --cflags --libs-only-L opencv)
fi
CXX=${CXX:-g++}
$CXX -std=c++17 -O3 -I. -o median_demo_yolov4 median_demo_yolov4.cpp -lglog -lvitis_ai_library-xnnpp -lvitis_ai_library-model_config -lprotobuf -lvitis_ai_library-dpu_task ${OPENCV_FLAGS} -lopencv_core -lopencv_video -lopencv_videoio -lopencv_imgproc -lopencv_imgcodecs -lopencv_highgui
xilinx-k26-starterkit-20221:~/kv260_median/dpu/vitis_ai_dpu_yolo$ ./demo_yolov4 ../compiled/yolov4_leaky_416_tf.prototxt ../compiled/yolov4_leaky_416_tf.xmodel dog.jpg image
../compiled/yolov4_leaky_416_tf.prototxt ../compiled/yolov4_leaky_416_tf.xmodel dog.jpgModel Initialize Done
bicycle 0.951898 132.472 550.138 140.873 414.652
car 0.763319 458.46 700.775 71.8596 174.588
truck 0.558414 472.915 687.069 72.4816 169.532
dog 0.988311 133.963 300.746 210 548.74
name: "yolov4"
kernel {
mean: 0.0
mean: 0.0
mean: 0.0
scale: 0.00390625
scale: 0.00390625
scale: 0.00390625
}
model_type : YOLOv3
yolo_v3_param {
num_classes: 80
anchorCnt: 3
layer_name: "109"
layer_name: "101"
layer_name: "93"
conf_threshold: 0.3
nms_threshold: 0.6
biases: 10
biases: 13
biases: 16
biases: 30
biases: 33
biases: 23
biases: 30
biases: 61
biases: 62
biases: 45
biases: 59
biases: 119
biases: 116
biases: 90
biases: 156
biases: 198
biases: 373
biases: 326
test_mAP: false
}
FileNotFoundError: [Errno 2] No such file or directory: 'yolov4-leaky-416.weights'
AttributeError: 'str' object has no attribute 'decode'
ValueError: ('Fail to import input_fn, error: ', ModuleNotFoundError("No module named 'imgaug'",))
Vitis-AI /workspace/tf_yolov4_coco_416_416_60.3G_2.5 > conda config --show-sources
==> /home/vitis-ai-user/.condarc <==
channels:
- defaults
- http://artifactory/artifactory/vitis-ai-conda-release
python: can't open file 'code/tools/dataset_converter/coco_annotation_val.py': [Errno 2] No such file or directory
Save result to data
がおかしいようだった。CODEBASE_DIR=code
で良いのではないだろうか?CODEBASE_DIR=.
Vitis-AI /workspace/tf_yolov4_coco_416_416_60.3G_2.5 > conda create -n yolov4-tf1 python=3.6
Collecting package metadata (current_repodata.json): done
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /opt/vitis_ai/conda/envs/yolov4-tf1
added / updated specs:
- python=3.6
The following packages will be downloaded:
package | build
---------------------------|-----------------
_libgcc_mutex-0.1 | main 3 KB
_openmp_mutex-5.1 | 1_gnu 21 KB
ca-certificates-2022.10.11 | h06a4308_0 124 KB
certifi-2021.5.30 | py36h06a4308_0 139 KB
ld_impl_linux-64-2.38 | h1181459_1 654 KB
libffi-3.3 | he6710b0_2 50 KB
libgcc-ng-11.2.0 | h1234567_1 5.3 MB
libgomp-11.2.0 | h1234567_1 474 KB
libstdcxx-ng-11.2.0 | h1234567_1 4.7 MB
ncurses-6.3 | h5eee18b_3 781 KB
openssl-1.1.1s | h7f8727e_0 3.6 MB
pip-21.2.2 | py36h06a4308_0 1.8 MB
python-3.6.13 | h12debd9_1 32.5 MB
readline-8.2 | h5eee18b_0 357 KB
setuptools-58.0.4 | py36h06a4308_0 788 KB
sqlite-3.39.3 | h5082296_0 1.1 MB
tk-8.6.12 | h1ccaba5_0 3.0 MB
wheel-0.37.1 | pyhd3eb1b0_0 33 KB
xz-5.2.6 | h5eee18b_0 394 KB
zlib-1.2.13 | h5eee18b_0 103 KB
------------------------------------------------------------
Total: 55.9 MB
The following NEW packages will be INSTALLED:
_libgcc_mutex pkgs/main/linux-64::_libgcc_mutex-0.1-main
_openmp_mutex pkgs/main/linux-64::_openmp_mutex-5.1-1_gnu
ca-certificates pkgs/main/linux-64::ca-certificates-2022.10.11-h06a4308_0
certifi pkgs/main/linux-64::certifi-2021.5.30-py36h06a4308_0
ld_impl_linux-64 pkgs/main/linux-64::ld_impl_linux-64-2.38-h1181459_1
libffi pkgs/main/linux-64::libffi-3.3-he6710b0_2
libgcc-ng pkgs/main/linux-64::libgcc-ng-11.2.0-h1234567_1
libgomp pkgs/main/linux-64::libgomp-11.2.0-h1234567_1
libstdcxx-ng pkgs/main/linux-64::libstdcxx-ng-11.2.0-h1234567_1
ncurses pkgs/main/linux-64::ncurses-6.3-h5eee18b_3
openssl pkgs/main/linux-64::openssl-1.1.1s-h7f8727e_0
pip pkgs/main/linux-64::pip-21.2.2-py36h06a4308_0
python pkgs/main/linux-64::python-3.6.13-h12debd9_1
readline pkgs/main/linux-64::readline-8.2-h5eee18b_0
setuptools pkgs/main/linux-64::setuptools-58.0.4-py36h06a4308_0
sqlite pkgs/main/linux-64::sqlite-3.39.3-h5082296_0
tk pkgs/main/linux-64::tk-8.6.12-h1ccaba5_0
wheel pkgs/main/noarch::wheel-0.37.1-pyhd3eb1b0_0
xz pkgs/main/linux-64::xz-5.2.6-h5eee18b_0
zlib pkgs/main/linux-64::zlib-1.2.13-h5eee18b_0
Proceed ([y]/n)? y
Downloading and Extracting Packages
wheel-0.37.1 | 33 KB | ##################################### | 100%
setuptools-58.0.4 | 788 KB | ##################################### | 100%
libgcc-ng-11.2.0 | 5.3 MB | ##################################### | 100%
pip-21.2.2 | 1.8 MB | ##################################### | 100%
sqlite-3.39.3 | 1.1 MB | ##################################### | 100%
ncurses-6.3 | 781 KB | ##################################### | 100%
libffi-3.3 | 50 KB | ##################################### | 100%
zlib-1.2.13 | 103 KB | ##################################### | 100%
openssl-1.1.1s | 3.6 MB | ##################################### | 100%
_openmp_mutex-5.1 | 21 KB | ##################################### | 100%
readline-8.2 | 357 KB | ##################################### | 100%
python-3.6.13 | 32.5 MB | ##################################### | 100%
_libgcc_mutex-0.1 | 3 KB | ##################################### | 100%
ca-certificates-2022 | 124 KB | ##################################### | 100%
ld_impl_linux-64-2.3 | 654 KB | ##################################### | 100%
libgomp-11.2.0 | 474 KB | ##################################### | 100%
libstdcxx-ng-11.2.0 | 4.7 MB | ##################################### | 100%
tk-8.6.12 | 3.0 MB | ##################################### | 100%
certifi-2021.5.30 | 139 KB | ##################################### | 100%
xz-5.2.6 | 394 KB | ##################################### | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate yolov4-tf1
#
# To deactivate an active environment, use
#
# $ conda deactivate
(yolov4-tf1) Vitis-AI /workspace/tf_yolov4_coco_416_416_60.3G_2.5 > pip install -r code/requirements.txt
Collecting numpy
Downloading numpy-1.19.5-cp36-cp36m-manylinux2010_x86_64.whl (14.8 MB)
|████████████████████████████████| 14.8 MB 12.1 MB/s
Requirement already satisfied: setuptools in /home/vitis-ai-user/.local/lib/python3.6/site-packages (from -r code/requirements.txt (line 2)) (59.6.0)
Collecting scipy
Downloading scipy-1.5.4-cp36-cp36m-manylinux1_x86_64.whl (25.9 MB)
|████████████████████████████████| 25.9 MB 12.1 MB/s
Collecting scikit-learn==0.20.3
Downloading scikit_learn-0.20.3-cp36-cp36m-manylinux1_x86_64.whl (5.4 MB)
|████████████████████████████████| 5.4 MB 11.0 MB/s
Collecting opencv-python==4.2.0.32
Downloading opencv_python-4.2.0.32-cp36-cp36m-manylinux1_x86_64.whl (28.2 MB)
|████████████████████████████████| 28.2 MB 12.1 MB/s
Collecting opencv-contrib-python==4.2.0.32
Downloading opencv_contrib_python-4.2.0.32-cp36-cp36m-manylinux1_x86_64.whl (34.2 MB)
|████████████████████████████████| 34.2 MB 51 kB/s
Collecting tensorflow-gpu==1.15.2
Downloading tensorflow_gpu-1.15.2-cp36-cp36m-manylinux2010_x86_64.whl (411.0 MB)
|████████████████████████████████| 411.0 MB 18 kB/s
Collecting matplotlib
Downloading matplotlib-3.3.4-cp36-cp36m-manylinux1_x86_64.whl (11.5 MB)
|████████████████████████████████| 11.5 MB 601 kB/s
Collecting tqdm
Downloading tqdm-4.64.1-py2.py3-none-any.whl (78 kB)
|████████████████████████████████| 78 kB 955 kB/s
Collecting pillow
Downloading Pillow-8.4.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB)
|████████████████████████████████| 3.1 MB 14.0 MB/s
Requirement already satisfied: Cython in /opt/vitis_ai/conda/envs/yolov4-tf1/lib/python3.6/site-packages (from -r code/requirements.txt (line 15)) (0.29.32)
Collecting pycocotools
Downloading pycocotools-2.0.6.tar.gz (24 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting sympy
Downloading sympy-1.9-py3-none-any.whl (6.2 MB)
|████████████████████████████████| 6.2 MB 12.4 MB/s
Collecting imgaug
Downloading imgaug-0.4.0-py2.py3-none-any.whl (948 kB)
|████████████████████████████████| 948 kB 11.3 MB/s
Collecting imagecorruptions
Downloading imagecorruptions-1.1.2-py3-none-any.whl (2.1 MB)
|████████████████████████████████| 2.1 MB 11.9 MB/s
Collecting bokeh
Downloading bokeh-2.3.3.tar.gz (10.7 MB)
|████████████████████████████████| 10.7 MB 20 kB/s
Preparing metadata (setup.py) ... done
Collecting tidecv
Downloading tidecv-1.0.1-py3-none-any.whl (25 kB)
Collecting wrapt>=1.11.1
Downloading wrapt-1.14.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (74 kB)
|████████████████████████████████| 74 kB 604 kB/s
Collecting tensorflow-estimator==1.15.1
Downloading tensorflow_estimator-1.15.1-py2.py3-none-any.whl (503 kB)
|████████████████████████████████| 503 kB 11.6 MB/s
Collecting termcolor>=1.1.0
Downloading termcolor-1.1.0.tar.gz (3.9 kB)
Preparing metadata (setup.py) ... done
Requirement already satisfied: wheel>=0.26 in /home/vitis-ai-user/.local/lib/python3.6/site-packages (from tensorflow-gpu==1.15.2->-r code/requirements.txt (line 7)) (0.37.1)
Collecting opt-einsum>=2.3.2
Downloading opt_einsum-3.3.0-py3-none-any.whl (65 kB)
|████████████████████████████████| 65 kB 481 kB/s
Collecting gast==0.2.2
Downloading gast-0.2.2.tar.gz (10 kB)
Preparing metadata (setup.py) ... done
Collecting google-pasta>=0.1.6
Downloading google_pasta-0.2.0-py3-none-any.whl (57 kB)
|████████████████████████████████| 57 kB 899 kB/s
Collecting astor>=0.6.0
Downloading astor-0.8.1-py2.py3-none-any.whl (27 kB)
Collecting absl-py>=0.7.0
Downloading absl_py-1.3.0-py3-none-any.whl (124 kB)
|████████████████████████████████| 124 kB 11.5 MB/s
Collecting protobuf>=3.6.1
Downloading protobuf-3.19.6-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB)
|████████████████████████████████| 1.1 MB 11.9 MB/s
Collecting grpcio>=1.8.6
Downloading grpcio-1.48.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB)
|████████████████████████████████| 4.6 MB 11.2 MB/s
Collecting keras-applications>=1.0.8
Downloading Keras_Applications-1.0.8-py3-none-any.whl (50 kB)
|████████████████████████████████| 50 kB 992 kB/s
Collecting keras-preprocessing>=1.0.5
Downloading Keras_Preprocessing-1.1.2-py2.py3-none-any.whl (42 kB)
|████████████████████████████████| 42 kB 166 kB/s
Collecting tensorboard<1.16.0,>=1.15.0
Downloading tensorboard-1.15.0-py3-none-any.whl (3.8 MB)
|████████████████████████████████| 3.8 MB 12.1 MB/s
Collecting six>=1.10.0
Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3
Downloading pyparsing-3.0.9-py3-none-any.whl (98 kB)
|████████████████████████████████| 98 kB 1.4 MB/s
Collecting kiwisolver>=1.0.1
Downloading kiwisolver-1.3.1-cp36-cp36m-manylinux1_x86_64.whl (1.1 MB)
|████████████████████████████████| 1.1 MB 11.9 MB/s
Collecting cycler>=0.10
Downloading cycler-0.11.0-py3-none-any.whl (6.4 kB)
Collecting python-dateutil>=2.1
Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
|████████████████████████████████| 247 kB 11.5 MB/s
Collecting importlib-resources
Downloading importlib_resources-5.4.0-py3-none-any.whl (28 kB)
Collecting mpmath>=0.19
Downloading mpmath-1.2.1-py3-none-any.whl (532 kB)
|████████████████████████████████| 532 kB 11.4 MB/s
Collecting Shapely
Downloading Shapely-1.8.5.post1-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.0 MB)
|████████████████████████████████| 2.0 MB 12.7 MB/s
Collecting imageio
Downloading imageio-2.15.0-py3-none-any.whl (3.3 MB)
|████████████████████████████████| 3.3 MB 11.4 MB/s
Collecting scikit-image>=0.14.2
Downloading scikit_image-0.17.2-cp36-cp36m-manylinux1_x86_64.whl (12.4 MB)
|████████████████████████████████| 12.4 MB 12.1 MB/s
Collecting PyYAML>=3.10
Downloading PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (603 kB)
|████████████████████████████████| 603 kB 11.4 MB/s
Collecting Jinja2>=2.9
Downloading Jinja2-3.0.3-py3-none-any.whl (133 kB)
|████████████████████████████████| 133 kB 11.4 MB/s
Collecting packaging>=16.8
Downloading packaging-21.3-py3-none-any.whl (40 kB)
|████████████████████████████████| 40 kB 1.2 MB/s
Collecting tornado>=5.1
Downloading tornado-6.1-cp36-cp36m-manylinux2010_x86_64.whl (427 kB)
|████████████████████████████████| 427 kB 11.5 MB/s
Collecting typing_extensions>=3.7.4
Downloading typing_extensions-4.1.1-py3-none-any.whl (26 kB)
Collecting seaborn
Downloading seaborn-0.11.2-py3-none-any.whl (292 kB)
|████████████████████████████████| 292 kB 13.5 MB/s
Collecting pandas
Downloading pandas-1.1.5-cp36-cp36m-manylinux1_x86_64.whl (9.5 MB)
|████████████████████████████████| 9.5 MB 12.8 MB/s
Collecting appdirs
Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Collecting MarkupSafe>=2.0
Downloading MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (30 kB)
Collecting h5py
Downloading h5py-3.1.0-cp36-cp36m-manylinux1_x86_64.whl (4.0 MB)
|████████████████████████████████| 4.0 MB 13.2 MB/s
Collecting tifffile>=2019.7.26
Downloading tifffile-2020.9.3-py3-none-any.whl (148 kB)
|████████████████████████████████| 148 kB 12.8 MB/s
Collecting PyWavelets>=1.1.1
Downloading PyWavelets-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (4.4 MB)
|████████████████████████████████| 4.4 MB 12.3 MB/s
Collecting networkx>=2.0
Downloading networkx-2.5.1-py3-none-any.whl (1.6 MB)
|████████████████████████████████| 1.6 MB 11.6 MB/s
Collecting markdown>=2.6.8
Downloading Markdown-3.3.7-py3-none-any.whl (97 kB)
|████████████████████████████████| 97 kB 1.2 MB/s
Collecting werkzeug>=0.11.15
Downloading Werkzeug-2.0.3-py3-none-any.whl (289 kB)
|████████████████████████████████| 289 kB 11.5 MB/s
Collecting zipp>=3.1.0
Downloading zipp-3.6.0-py3-none-any.whl (5.3 kB)
Collecting pytz>=2017.2
Downloading pytz-2022.6-py2.py3-none-any.whl (498 kB)
|████████████████████████████████| 498 kB 11.9 MB/s
Collecting importlib-metadata>=4.4
Downloading importlib_metadata-4.8.3-py3-none-any.whl (17 kB)
Collecting decorator<5,>=4.3
Downloading decorator-4.4.2-py2.py3-none-any.whl (9.2 kB)
Collecting dataclasses
Downloading dataclasses-0.8-py3-none-any.whl (19 kB)
Collecting cached-property
Downloading cached_property-1.5.2-py2.py3-none-any.whl (7.6 kB)
Building wheels for collected packages: gast, pycocotools, bokeh, termcolor
Building wheel for gast (setup.py) ... done
Created wheel for gast: filename=gast-0.2.2-py3-none-any.whl size=7554 sha256=efe58f6f440e04508f08fdaa0b6a65f31c2d4493b204538c3858d75434839b8c
Stored in directory: /home/vitis-ai-user/.cache/pip/wheels/19/a7/b9/0740c7a3a7d1d348f04823339274b90de25fbcd217b2ee1fbe
Building wheel for pycocotools (pyproject.toml) ... done
Created wheel for pycocotools: filename=pycocotools-2.0.6-cp36-cp36m-linux_x86_64.whl size=375293 sha256=89a5d0c85b0b092a120e50a322b036f9beae0383d20b5284da97b9de5c0408ec
Stored in directory: /home/vitis-ai-user/.cache/pip/wheels/39/5f/a6/d19eb746e1b7525795fa8910576ddc6108d0c9cf343e4155e8
Building wheel for bokeh (setup.py) ... done
Created wheel for bokeh: filename=bokeh-2.3.3-py3-none-any.whl size=11342785 sha256=727712d0432a8aa0300b84b907a5070c834ad1b127cda50be0c8fa12a94b6aa8
Stored in directory: /home/vitis-ai-user/.cache/pip/wheels/8b/59/97/257265b741bab184e0cc8f5676309cb1fe6fbda22011bbb3ff
Building wheel for termcolor (setup.py) ... done
Created wheel for termcolor: filename=termcolor-1.1.0-py3-none-any.whl size=4848 sha256=552a51bb0b13ae81536e412dcd2412c4c54d2da002215f357acfcf6e67e08850
Stored in directory: /home/vitis-ai-user/.cache/pip/wheels/93/2a/eb/e58dbcbc963549ee4f065ff80a59f274cc7210b6eab962acdc
Successfully built gast pycocotools bokeh termcolor
Installing collected packages: zipp, typing-extensions, six, pytz, python-dateutil, pyparsing, pillow, numpy, kiwisolver, importlib-metadata, decorator, dataclasses, cycler, cached-property, werkzeug, tifffile, scipy, PyWavelets, protobuf, pandas, networkx, matplotlib, MarkupSafe, markdown, imageio, h5py, grpcio, absl-py, wrapt, tornado, termcolor, tensorflow-estimator, tensorboard, Shapely, seaborn, scikit-image, PyYAML, pycocotools, packaging, opt-einsum, opencv-python, mpmath, keras-preprocessing, keras-applications, Jinja2, importlib-resources, google-pasta, gast, astor, appdirs, tqdm, tidecv, tensorflow-gpu, sympy, scikit-learn, opencv-contrib-python, imgaug, imagecorruptions, bokeh
Successfully installed Jinja2-3.0.3 MarkupSafe-2.0.1 PyWavelets-1.1.1 PyYAML-6.0 Shapely-1.8.5.post1 absl-py-1.3.0 appdirs-1.4.4 astor-0.8.1 bokeh-2.3.3 cached-property-1.5.2 cycler-0.11.0 dataclasses-0.8 decorator-4.4.2 gast-0.2.2 google-pasta-0.2.0 grpcio-1.48.2 h5py-3.1.0 imagecorruptions-1.1.2 imageio-2.15.0 imgaug-0.4.0 importlib-metadata-4.8.3 importlib-resources-5.4.0 keras-applications-1.0.8 keras-preprocessing-1.1.2 kiwisolver-1.3.1 markdown-3.3.7 matplotlib-3.3.4 mpmath-1.2.1 networkx-2.5.1 numpy-1.19.5 opencv-contrib-python-4.2.0.32 opencv-python-4.2.0.32 opt-einsum-3.3.0 packaging-21.3 pandas-1.1.5 pillow-8.4.0 protobuf-3.19.6 pycocotools-2.0.6 pyparsing-3.0.9 python-dateutil-2.8.2 pytz-2022.6 scikit-image-0.17.2 scikit-learn-0.20.3 scipy-1.5.4 seaborn-0.11.2 six-1.16.0 sympy-1.9 tensorboard-1.15.0 tensorflow-estimator-1.15.1 tensorflow-gpu-1.15.2 termcolor-1.1.0 tidecv-1.0.1 tifffile-2020.9.3 tornado-6.1 tqdm-4.64.1 typing-extensions-4.1.1 werkzeug-2.0.3 wrapt-1.14.1 zipp-3.6.0
CondaHTTPError: HTTP 000 CONNECTION FAILED for url <http://artifactory/artifactory/vitis-ai-conda-release/linux-64/current_repodata.json>
kv260_median_platform/device-tree-xlnx/dpu.dtbo
kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.xclbin
kv260_median_platform/kv260_median_pkg/pfm/shell.json
に変更した。なお、コメントはデフォルト設定値を示す。`define B3136 //`define B4096
に変更した。`define URAM_ENABLE //`define URAM_DISABLE
に変更した。`define DRAM_ENABLE //`define DRAM_DISABLE
に変更した。`define RAM_USAGE_HIGH // `define RAM_USAGE_LOW
[clock]
#100, 200, 400
id=1:DPUCZDX8G_1.aclk
id=2:DPUCZDX8G_1.ap_clk_2
[connectivity]
nk=DPUCZDX8G:1:DPUCZDX8G_1
sp=DPUCZDX8G_1.M_AXI_GP0:HPC1
sp=DPUCZDX8G_1.M_AXI_HP0:HP0
sp=DPUCZDX8G_1.M_AXI_HP2:HP1
(base) masaaki@masaaki-H110M4-M01:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware$ make
/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vitis/2022.1/bin/v++ --target hw --link --config dpu-link.cfg -o"dpu.xclbin" ../../dpuprj_kernels/Hardware/DPUCZDX8G.xo
Option Map File Used: '/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vitis/2022.1/data/vitis/vpp/optMap.xml'
****** v++ v2022.1 (64-bit)
**** SW Build 3524075 on 2022-04-13-17:42:45
** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
INFO: [v++ 60-1306] Additional information associated with this v++ link can be found at:
Reports: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/reports/link
Log files: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/logs/link
Running Dispatch Server on port: 44845
INFO: [v++ 60-1548] Creating build summary session with primary output /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.xclbin.link_summary, at Mon Nov 14 04:53:04 2022
INFO: [v++ 60-1316] Initiating connection to rulecheck server, at Mon Nov 14 04:53:04 2022
INFO: [v++ 60-1315] Creating rulecheck session with output '/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/reports/link/link_guidance.html', at Mon Nov 14 04:53:06 2022
INFO: [v++ 60-895] Target platform: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/kv260_median/export/kv260_median/kv260_median.xpfm
INFO: [v++ 60-1578] This platform contains Xilinx Shell Archive '/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/kv260_median/export/kv260_median/hw/kv260_median_platform.xsa'
INFO: [v++ 60-629] Linking for hardware target
INFO: [v++ 60-423] Target device: kv260_median
INFO: [v++ 60-1332] Run 'run_link' status: Not started
INFO: [v++ 60-1443] [04:53:07] Run run_link: Step system_link: Started
INFO: [v++ 60-1453] Command Line: system_link --xo /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_kernels/Hardware/DPUCZDX8G.xo -keep --config /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/syslinkConfig.ini --xpfm /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/kv260_median/export/kv260_median/kv260_median.xpfm --target hw --output_dir /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int --temp_dir /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/sys_link
INFO: [v++ 60-1454] Run Directory: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/run_link
INFO: [SYSTEM_LINK 60-1316] Initiating connection to rulecheck server, at Mon Nov 14 04:53:08 2022
INFO: [SYSTEM_LINK 82-70] Extracting xo v3 file /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_kernels/Hardware/DPUCZDX8G.xo
INFO: [SYSTEM_LINK 82-53] Creating IP database /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/sys_link/_sysl/.cdb/xd_ip_db.xml
INFO: [SYSTEM_LINK 82-38] [04:53:08] build_xd_ip_db started: /media/masaaki/Ubuntu_Disk/tools/Xilinx/Vitis/2022.1/bin/build_xd_ip_db -ip_search 0 -sds-pf /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/sys_link/kv260_median_platform.hpfm -clkid 1 -ip /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/sys_link/iprepo/xilinx_com_RTLKernel_DPUCZDX8G_1_0,DPUCZDX8G -o /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/sys_link/_sysl/.cdb/xd_ip_db.xml
INFO: [SYSTEM_LINK 82-37] [04:53:12] build_xd_ip_db finished successfully
Time (s): cpu = 00:00:07 ; elapsed = 00:00:04 . Memory (MB): peak = 2279.844 ; gain = 610.293 ; free physical = 2173 ; free virtual = 37164
INFO: [SYSTEM_LINK 82-51] Create system connectivity graph
INFO: [SYSTEM_LINK 82-102] Applying explicit connections to the system connectivity graph: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/sys_link/cfgraph/cfgen_cfgraph.xml
INFO: [SYSTEM_LINK 82-38] [04:53:12] cfgen started: /media/masaaki/Ubuntu_Disk/tools/Xilinx/Vitis/2022.1/bin/cfgen -nk DPUCZDX8G:1:DPUCZDX8G_1 -sp DPUCZDX8G_1.M_AXI_GP0:HPC1 -sp DPUCZDX8G_1.M_AXI_HP0:HP0 -sp DPUCZDX8G_1.M_AXI_HP2:HP1 -clock.id 1:DPUCZDX8G_1.aclk -clock.id 2:DPUCZDX8G_1.ap_clk_2 -dmclkid 1 -r /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/sys_link/_sysl/.cdb/xd_ip_db.xml -o /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/sys_link/cfgraph/cfgen_cfgraph.xml
INFO: [CFGEN 83-0] Kernel Specs:
INFO: [CFGEN 83-0] kernel: DPUCZDX8G, num: 1 {DPUCZDX8G_1}
INFO: [CFGEN 83-0] Port Specs:
INFO: [CFGEN 83-0] kernel: DPUCZDX8G_1, k_port: M_AXI_GP0, sptag: HPC1
INFO: [CFGEN 83-0] kernel: DPUCZDX8G_1, k_port: M_AXI_HP0, sptag: HP0
INFO: [CFGEN 83-0] kernel: DPUCZDX8G_1, k_port: M_AXI_HP2, sptag: HP1
INFO: [SYSTEM_LINK 82-37] [04:53:14] cfgen finished successfully
Time (s): cpu = 00:00:01 ; elapsed = 00:00:01 . Memory (MB): peak = 2279.844 ; gain = 0.000 ; free physical = 2172 ; free virtual = 37162
INFO: [SYSTEM_LINK 82-52] Create top-level block diagram
INFO: [SYSTEM_LINK 82-38] [04:53:14] cf2bd started: /media/masaaki/Ubuntu_Disk/tools/Xilinx/Vitis/2022.1/bin/cf2bd --linux --trace_buffer 1024 --input_file /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/sys_link/cfgraph/cfgen_cfgraph.xml --ip_db /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/sys_link/_sysl/.cdb/xd_ip_db.xml --cf_name dr --working_dir /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/sys_link/_sysl/.xsd --temp_dir /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/sys_link --output_dir /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int
INFO: [CF2BD 82-31] Launching cf2xd: cf2xd -linux -trace-buffer 1024 -i /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/sys_link/cfgraph/cfgen_cfgraph.xml -r /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/sys_link/_sysl/.cdb/xd_ip_db.xml -o dr.xml
INFO: [CF2BD 82-28] cf2xd finished successfully
INFO: [CF2BD 82-31] Launching cf_xsd: cf_xsd -disable-address-gen -dn dr -dp /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/sys_link/_sysl/.xsd
INFO: [CF2BD 82-28] cf_xsd finished successfully
INFO: [SYSTEM_LINK 82-37] [04:53:16] cf2bd finished successfully
Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 2279.844 ; gain = 0.000 ; free physical = 2169 ; free virtual = 37164
INFO: [v++ 60-1441] [04:53:16] Run run_link: Step system_link: Completed
Time (s): cpu = 00:00:12 ; elapsed = 00:00:10 . Memory (MB): peak = 2218.625 ; gain = 0.000 ; free physical = 2211 ; free virtual = 37207
INFO: [v++ 60-1443] [04:53:16] Run run_link: Step cf2sw: Started
INFO: [v++ 60-1453] Command Line: cf2sw -sdsl /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/sdsl.dat -rtd /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/cf2sw.rtd -nofilter /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/cf2sw_full.rtd -xclbin /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/xclbin_orig.xml -o /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/xclbin_orig.1.xml
INFO: [v++ 60-1454] Run Directory: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/run_link
INFO: [v++ 60-1441] [04:53:18] Run run_link: Step cf2sw: Completed
Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 2218.625 ; gain = 0.000 ; free physical = 2208 ; free virtual = 37206
INFO: [v++ 60-1443] [04:53:18] Run run_link: Step rtd2_system_diagram: Started
INFO: [v++ 60-1453] Command Line: rtd2SystemDiagram
INFO: [v++ 60-1454] Run Directory: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/run_link
INFO: [v++ 60-1441] [04:53:18] Run run_link: Step rtd2_system_diagram: Completed
Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.11 . Memory (MB): peak = 2218.625 ; gain = 0.000 ; free physical = 2208 ; free virtual = 37206
INFO: [v++ 60-1443] [04:53:18] Run run_link: Step vpl: Started
INFO: [v++ 60-1453] Command Line: vpl -t hw -f /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/kv260_median/export/kv260_median/kv260_median.xpfm --remote_ip_cache /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/ip_cache -s --output_dir /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int --log_dir /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/logs/link --report_dir /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/reports/link --config /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/vplConfig.ini -k /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/kernel_info.dat --webtalk_flag Vitis --temp_dir /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link --no-info --iprepo /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/xo/ip_repo/xilinx_com_RTLKernel_DPUCZDX8G_1_0 --messageDb /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/run_link/vpl.pb /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/dr.bd.tcl
INFO: [v++ 60-1454] Run Directory: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/run_link
****** vpl v2022.1 (64-bit)
**** SW Build 3524075 on 2022-04-13-17:42:45
** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
INFO: [VPL 60-839] Read in kernel information from file '/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/kernel_info.dat'.
INFO: [VPL 60-423] Target device: kv260_median
INFO: [VPL 60-1032] Extracting hardware platform to /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/vivado/vpl/.local/hw_platform
[04:53:28] Run vpl: Step create_project: Started
Creating Vivado project.
[04:53:38] Run vpl: Step create_project: Completed
[04:53:38] Run vpl: Step create_bd: Started
[04:53:49] Run vpl: Step create_bd: Completed
[04:53:49] Run vpl: Step update_bd: Started
[04:53:49] Run vpl: Step update_bd: Completed
[04:53:49] Run vpl: Step generate_target: Started
[04:54:36] Run vpl: Step generate_target: Completed
[04:54:36] Run vpl: Step config_hw_runs: Started
[04:54:39] Run vpl: Step config_hw_runs: Completed
[04:54:39] Run vpl: Step synth: Started
[04:55:09] Block-level synthesis in progress, 0 of 8 jobs complete, 2 jobs running.
[04:55:39] Block-level synthesis in progress, 0 of 8 jobs complete, 2 jobs running.
[04:56:09] Block-level synthesis in progress, 2 of 8 jobs complete, 2 jobs running.
[04:56:40] Block-level synthesis in progress, 2 of 8 jobs complete, 2 jobs running.
[04:57:10] Block-level synthesis in progress, 4 of 8 jobs complete, 2 jobs running.
[04:57:40] Block-level synthesis in progress, 4 of 8 jobs complete, 2 jobs running.
[04:58:10] Block-level synthesis in progress, 5 of 8 jobs complete, 1 job running.
[04:58:40] Block-level synthesis in progress, 5 of 8 jobs complete, 1 job running.
[04:59:10] Block-level synthesis in progress, 5 of 8 jobs complete, 1 job running.
[04:59:40] Block-level synthesis in progress, 5 of 8 jobs complete, 1 job running.
[05:00:10] Block-level synthesis in progress, 5 of 8 jobs complete, 1 job running.
[05:00:40] Block-level synthesis in progress, 5 of 8 jobs complete, 1 job running.
[05:01:10] Block-level synthesis in progress, 5 of 8 jobs complete, 1 job running.
[05:01:40] Block-level synthesis in progress, 5 of 8 jobs complete, 1 job running.
[05:02:10] Block-level synthesis in progress, 5 of 8 jobs complete, 1 job running.
[05:02:40] Block-level synthesis in progress, 5 of 8 jobs complete, 1 job running.
[05:03:10] Block-level synthesis in progress, 5 of 8 jobs complete, 1 job running.
[05:03:40] Block-level synthesis in progress, 5 of 8 jobs complete, 1 job running.
[05:04:10] Block-level synthesis in progress, 5 of 8 jobs complete, 1 job running.
[05:04:41] Block-level synthesis in progress, 5 of 8 jobs complete, 1 job running.
[05:05:11] Block-level synthesis in progress, 5 of 8 jobs complete, 1 job running.
[05:05:41] Block-level synthesis in progress, 5 of 8 jobs complete, 1 job running.
[05:06:11] Block-level synthesis in progress, 5 of 8 jobs complete, 1 job running.
[05:06:41] Block-level synthesis in progress, 5 of 8 jobs complete, 1 job running.
[05:07:11] Block-level synthesis in progress, 6 of 8 jobs complete, 1 job running.
[05:07:41] Block-level synthesis in progress, 6 of 8 jobs complete, 1 job running.
[05:07:54] Run vpl: Step synth: Completed
[05:07:54] Run vpl: Step impl: Started
[05:09:56] Finished 2nd of 6 tasks (FPGA linking synthesized kernels to platform). Elapsed time: 00h 16m 35s
[05:09:56] Starting logic optimization..
[05:10:26] Phase 1 Retarget
[05:10:56] Phase 2 Constant propagation
[05:10:56] Phase 3 Sweep
[05:10:56] Phase 4 BUFG optimization
[05:10:56] Phase 5 Shift Register Optimization
[05:10:56] Phase 6 Post Processing Netlist
[05:12:56] Finished 3rd of 6 tasks (FPGA logic optimization). Elapsed time: 00h 03m 00s
[05:12:56] Starting logic placement..
[05:13:26] Phase 1 Placer Initialization
[05:13:26] Phase 1.1 Placer Initialization Netlist Sorting
[05:13:26] Phase 1.2 IO Placement/ Clock Placement/ Build Placer Device
[05:13:26] Phase 1.3 Build Placer Netlist Model
[05:14:27] Phase 1.4 Constrain Clocks/Macros
[05:14:27] Phase 2 Global Placement
[05:14:27] Phase 2.1 Floorplanning
[05:14:27] Phase 2.1.1 Partition Driven Placement
[05:14:27] Phase 2.1.1.1 PBP: Partition Driven Placement
[05:15:27] Phase 2.1.1.2 PBP: Clock Region Placement
[05:15:27] Phase 2.1.1.3 PBP: Discrete Incremental
[05:15:27] Phase 2.1.1.4 PBP: Compute Congestion
[05:15:27] Phase 2.1.1.5 PBP: Macro Placement
[05:15:27] Phase 2.1.1.6 PBP: UpdateTiming
[05:15:27] Phase 2.1.1.7 PBP: Add part constraints
[05:15:27] Phase 2.2 Update Timing before SLR Path Opt
[05:15:27] Phase 2.3 Post-Processing in Floorplanning
[05:15:27] Phase 2.4 Global Placement Core
[05:17:58] Phase 2.4.1 Physical Synthesis In Placer
[05:18:28] Phase 3 Detail Placement
[05:18:28] Phase 3.1 Commit Multi Column Macros
[05:18:28] Phase 3.2 Commit Most Macros & LUTRAMs
[05:18:28] Phase 3.3 Small Shape DP
[05:18:28] Phase 3.3.1 Small Shape Clustering
[05:18:28] Phase 3.3.2 Flow Legalize Slice Clusters
[05:18:58] Phase 3.3.3 Slice Area Swap
[05:18:58] Phase 3.3.3.1 Slice Area Swap Initial
[05:18:58] Phase 3.4 Re-assign LUT pins
[05:18:58] Phase 3.5 Pipeline Register Optimization
[05:19:28] Phase 4 Post Placement Optimization and Clean-Up
[05:19:28] Phase 4.1 Post Commit Optimization
[05:20:29] Phase 4.1.1 Post Placement Optimization
[05:20:29] Phase 4.1.1.1 BUFG Insertion
[05:20:29] Phase 1 Physical Synthesis Initialization
[05:20:29] Phase 4.1.1.2 Post Placement Timing Optimization
[05:20:59] Phase 4.2 Post Placement Cleanup
[05:20:59] Phase 4.3 Placer Reporting
[05:20:59] Phase 4.3.1 Print Estimated Congestion
[05:20:59] Phase 4.4 Final Placement Cleanup
[05:21:29] Finished 4th of 6 tasks (FPGA logic placement). Elapsed time: 00h 08m 32s
[05:21:29] Starting logic routing..
[05:21:59] Phase 1 Build RT Design
[05:22:30] Phase 2 Router Initialization
[05:22:30] Phase 2.1 Fix Topology Constraints
[05:22:30] Phase 2.2 Pre Route Cleanup
[05:22:30] Phase 2.3 Global Clock Net Routing
[05:22:30] Phase 2.4 Update Timing
[05:23:30] Phase 3 Initial Routing
[05:23:30] Phase 3.1 Global Routing
[05:24:00] Phase 4 Rip-up And Reroute
[05:24:00] Phase 4.1 Global Iteration 0
[05:34:34] Phase 4.2 Global Iteration 1
[05:35:04] Phase 5 Delay and Skew Optimization
[05:35:04] Phase 5.1 Delay CleanUp
[05:35:04] Phase 5.1.1 Update Timing
[05:35:04] Phase 5.2 Clock Skew Optimization
[05:35:04] Phase 6 Post Hold Fix
[05:35:04] Phase 6.1 Hold Fix Iter
[05:35:04] Phase 6.1.1 Update Timing
[05:35:34] Phase 7 Route finalize
[05:35:34] Phase 8 Verifying routed nets
[05:35:34] Phase 9 Depositing Routes
[05:35:34] Phase 10 Resolve XTalk
[05:35:34] Phase 11 Post Router Timing
[05:36:04] Finished 5th of 6 tasks (FPGA routing). Elapsed time: 00h 14m 35s
[05:36:04] Starting bitstream generation..
[05:38:02] Run vpl: Step impl: Completed
[05:38:03] Creating bitmap...
[05:38:03] Writing bitstream ./system_wrapper.bit...
[05:38:03] Finished 6th of 6 tasks (FPGA bitstream generation). Elapsed time: 00h 01m 58s
[05:38:03] Run vpl: FINISHED. Run Status: impl Complete!
INFO: [v++ 60-1441] [05:38:03] Run run_link: Step vpl: Completed
Time (s): cpu = 00:00:15 ; elapsed = 00:44:45 . Memory (MB): peak = 2218.625 ; gain = 0.000 ; free physical = 5747 ; free virtual = 36307
INFO: [v++ 60-1443] [05:38:03] Run run_link: Step rtdgen: Started
INFO: [v++ 60-1453] Command Line: rtdgen
INFO: [v++ 60-1454] Run Directory: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/run_link
INFO: [v++ 60-1453] Command Line: cf2sw -a /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/address_map.xml -sdsl /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/sdsl.dat -xclbin /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/xclbin_orig.xml -rtd /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/dpu.rtd -o /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/dpu.xml
INFO: [v++ 60-1652] Cf2sw returned exit code: 0
INFO: [v++ 60-1441] [05:38:04] Run run_link: Step rtdgen: Completed
Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 2218.625 ; gain = 0.000 ; free physical = 5746 ; free virtual = 36306
INFO: [v++ 60-1443] [05:38:04] Run run_link: Step xclbinutil: Started
INFO: [v++ 60-1453] Command Line: xclbinutil --add-section BITSTREAM:RAW:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/system.bit --force --target hw --key-value SYS:dfx_enable:false --add-section :JSON:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/dpu.rtd --add-section CLOCK_FREQ_TOPOLOGY:JSON:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/dpu_xml.rtd --add-section BUILD_METADATA:JSON:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/dpu_build.rtd --add-section EMBEDDED_METADATA:RAW:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/dpu.xml --add-section SYSTEM_METADATA:RAW:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/systemDiagramModelSlrBaseAddress.json --key-value SYS:PlatformVBNV:xilinx_kv260_kv260_median_platform_0_0 --output /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.xclbin
INFO: [v++ 60-1454] Run Directory: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/run_link
XRT Build Version: 2.11.634 (2021.1)
Build Date: 2021-06-08 22:10:49
Hash ID: 5ad5998d67080f00bca5bf15b3838cf35e0a7b26
Creating a default 'in-memory' xclbin image.
Section: 'BITSTREAM'(0) was successfully added.
Size : 7797810 bytes
Format : RAW
File : '/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/system.bit'
Section: 'MEM_TOPOLOGY'(6) was successfully added.
Format : JSON
File : 'mem_topology'
Section: 'IP_LAYOUT'(8) was successfully added.
Format : JSON
File : 'ip_layout'
Section: 'CONNECTIVITY'(7) was successfully added.
Format : JSON
File : 'connectivity'
WARNING: Skipping CLOCK_FREQ_TOPOLOGY section for count size is zero.
WARNING: Section 'CLOCK_FREQ_TOPOLOGY' content is empty. No data in the given JSON file.
Section: 'CLOCK_FREQ_TOPOLOGY'(11) was empty. No action taken.
Format : JSON
File : '/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/dpu_xml.rtd'
Section: 'BUILD_METADATA'(14) was successfully added.
Size : 4399 bytes
Format : JSON
File : '/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/dpu_build.rtd'
Section: 'EMBEDDED_METADATA'(2) was successfully added.
Size : 4530 bytes
Format : RAW
File : '/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/dpu.xml'
Section: 'SYSTEM_METADATA'(22) was successfully added.
Size : 18467 bytes
Format : RAW
File : '/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/int/systemDiagramModelSlrBaseAddress.json'
Successfully wrote (7836229 bytes) to the output file: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.xclbin
Leaving xclbinutil.
INFO: [v++ 60-1441] [05:38:05] Run run_link: Step xclbinutil: Completed
Time (s): cpu = 00:00:00.13 ; elapsed = 00:00:00.36 . Memory (MB): peak = 2218.625 ; gain = 0.000 ; free physical = 5740 ; free virtual = 36309
INFO: [v++ 60-1443] [05:38:05] Run run_link: Step xclbinutilinfo: Started
INFO: [v++ 60-1453] Command Line: xclbinutil --quiet --force --info /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.xclbin.info --input /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.xclbin
INFO: [v++ 60-1454] Run Directory: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/run_link
INFO: [v++ 60-1441] [05:38:05] Run run_link: Step xclbinutilinfo: Completed
Time (s): cpu = 00:00:00.17 ; elapsed = 00:00:00.2 . Memory (MB): peak = 2218.625 ; gain = 0.000 ; free physical = 5896 ; free virtual = 36465
INFO: [v++ 60-1443] [05:38:05] Run run_link: Step generate_sc_driver: Started
INFO: [v++ 60-1453] Command Line:
INFO: [v++ 60-1454] Run Directory: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/link/run_link
INFO: [v++ 60-1441] [05:38:05] Run run_link: Step generate_sc_driver: Completed
Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 2218.625 ; gain = 0.000 ; free physical = 5896 ; free virtual = 36465
INFO: [v++ 60-244] Generating system estimate report...
INFO: [v++ 60-1092] Generated system estimate report: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/reports/link/system_estimate_dpu.xtxt
INFO: [v++ 60-2397] Platform default or user specified output type sd_card detected but is not a supported output for v++ --link. Use the v++ --package option instead to create SD card output.
INFO: [v++ 60-586] Created dpu.xclbin
INFO: [v++ 60-1307] Run completed. Additional information can be found in:
Guidance: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/reports/link/link_guidance.html
Timing Report: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/reports/link/imp/impl_1_system_wrapper_timing_summary_routed.rpt
Vivado Log: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/logs/link/vivado.log
Steps Log File: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.build/logs/link/link.steps.log
INFO: [v++ 60-2343] Use the vitis_analyzer tool to visualize and navigate the relevant reports. Run the following command.
vitis_analyzer /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_pkg/dpuprj_system_hw_link/Hardware/dpu.xclbin.link_summary
INFO: [v++ 60-791] Total elapsed time: 0h 45m 11s
INFO: [v++ 60-1653] Closing dispatch client.
があるようだ。vitis-ai-library.cortexa72_cortexa53 : Vitis AI LIBRARY
vitis-ai-library-dbg.cortexa72_cortexa53 : Vitis AI LIBRARY - Debugging files
vitis-ai-library-dev.cortexa72_cortexa53 : Vitis AI LIBRARY - Development files
vitis-ai-library-lic.cortexa72_cortexa53 : Vitis AI LIBRARY
vitis-ai-library-src.cortexa72_cortexa53 : Vitis AI LIBRARY - Source files
xilinx-k26-starterkit-20221:~$ sudo dnf install vitis-ai-library.cortexa72_cortexa53
Last metadata expiration check: 0:25:05 ago on Fri Nov 11 04:17:42 2022.
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
libdfx1.0 cortexa72_cortexa53 1.0-r0.2 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
13 k
replacing libdfx.cortexa72_cortexa53 1.0-r0.0
vitis-ai-library cortexa72_cortexa53 2.5-r0.4 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
3.1 M
Upgrading:
dfx-mgr cortexa72_cortexa53 1.0-r0.2 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
50 k
xrt cortexa72_cortexa53 202220.2.14.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
2.1 M
Installing dependencies:
python3-graphviz cortexa72_cortexa53 0.17-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
33 k
python3-protobuf cortexa72_cortexa53 3.17.3-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
291 k
target-factory cortexa72_cortexa53 2.5-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
86 k
unilog cortexa72_cortexa53 2.5-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
25 k
vart cortexa72_cortexa53 2.5-r0.4 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
636 k
xir cortexa72_cortexa53 2.5-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
729 k
Transaction Summary
================================================================================
Install 8 Packages
Upgrade 2 Packages
Total size: 7.0 M
Is this ok [y/N]: y
Downloading Packages:
[SKIPPED] libdfx1.0-1.0-r0.2.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] python3-graphviz-0.17-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] python3-protobuf-3.17.3-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] target-factory-2.5-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] unilog-2.5-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] vart-2.5-r0.4.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] vitis-ai-library-2.5-r0.4.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] xir-2.5-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] dfx-mgr-1.0-r0.2.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] xrt-202220.2.14.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : unilog-2.5-r0.0.cortexa72_cortexa53 1/13
Running scriptlet: unilog-2.5-r0.0.cortexa72_cortexa53 1/13
%post(unilog-2.5-r0.0.cortexa72_cortexa53): scriptlet start
%post(unilog-2.5-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3212
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(unilog-2.5-r0.0.cortexa72_cortexa53): waitpid(3212) rc 3212 status 0
Installing : xir-2.5-r0.0.cortexa72_cortexa53 2/13
Running scriptlet: xir-2.5-r0.0.cortexa72_cortexa53 2/13
%post(xir-2.5-r0.0.cortexa72_cortexa53): scriptlet start
%post(xir-2.5-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3214
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(xir-2.5-r0.0.cortexa72_cortexa53): waitpid(3214) rc 3214 status 0
Installing : libdfx1.0-1.0-r0.2.cortexa72_cortexa53 3/13
Running scriptlet: libdfx1.0-1.0-r0.2.cortexa72_cortexa53 3/13
%post(libdfx1.0-1.0-r0.2.cortexa72_cortexa53): scriptlet start
%post(libdfx1.0-1.0-r0.2.cortexa72_cortexa53): execv(/bin/sh) pid 3216
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libdfx1.0-1.0-r0.2.cortexa72_cortexa53): waitpid(3216) rc 3216 status 0
Upgrading : xrt-202220.2.14.0-r0.0.cortexa72_cortexa53 4/13
Running scriptlet: xrt-202220.2.14.0-r0.0.cortexa72_cortexa53 4/13
%post(xrt-202220.2.14.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(xrt-202220.2.14.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3218
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
+ '[' -n '' ']'
+ '[' '!' -e /etc/OpenCL/vendors/xilinx.icd ']'
%post(xrt-202220.2.14.0-r0.0.cortexa72_cortexa53): waitpid(3218) rc 3218 status 0
Installing : vart-2.5-r0.4.cortexa72_cortexa53 5/13
Running scriptlet: vart-2.5-r0.4.cortexa72_cortexa53 5/13
%post(vart-2.5-r0.4.cortexa72_cortexa53): scriptlet start
%post(vart-2.5-r0.4.cortexa72_cortexa53): execv(/bin/sh) pid 3224
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(vart-2.5-r0.4.cortexa72_cortexa53): waitpid(3224) rc 3224 status 0
Installing : target-factory-2.5-r0.0.cortexa72_cortexa53 6/13
Running scriptlet: target-factory-2.5-r0.0.cortexa72_cortexa53 6/13
%post(target-factory-2.5-r0.0.cortexa72_cortexa53): scriptlet start
%post(target-factory-2.5-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3226
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(target-factory-2.5-r0.0.cortexa72_cortexa53): waitpid(3226) rc 3226 status 0
Installing : python3-protobuf-3.17.3-r0.0.cortexa72_cortexa53 7/13
Installing : python3-graphviz-0.17-r0.0.cortexa72_cortexa53 8/13
Installing : vitis-ai-library-2.5-r0.4.cortexa72_cortexa53 9/13
Running scriptlet: vitis-ai-library-2.5-r0.4.cortexa72_cortexa53 9/13
%post(vitis-ai-library-2.5-r0.4.cortexa72_cortexa53): scriptlet start
%post(vitis-ai-library-2.5-r0.4.cortexa72_cortexa53): execv(/bin/sh) pid 3228
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(vitis-ai-library-2.5-r0.4.cortexa72_cortexa53): waitpid(3228) rc 3228 status 0
Upgrading : dfx-mgr-1.0-r0.2.cortexa72_cortexa53 10/13
Running scriptlet: dfx-mgr-1.0-r0.2.cortexa72_cortexa53 10/13
%post(dfx-mgr-1.0-r0.2.cortexa72_cortexa53): scriptlet start
%post(dfx-mgr-1.0-r0.2.cortexa72_cortexa53): execv(/bin/sh) pid 3230
+ set -e
+ systemctl
+ OPTS=
+ '[' -n '' ']'
+ '[' enable = enable ']'
+ for service in dfx-mgr.service
+ systemctl enable dfx-mgr.service
+ '[' -z '' ']'
+ systemctl daemon-reload
+ systemctl preset dfx-mgr.service
+ '[' enable = enable ']'
+ systemctl --no-block restart dfx-mgr.service
+ '[' -n '' -o '!' -d /run/systemd/system ']'
%post(dfx-mgr-1.0-r0.2.cortexa72_cortexa53): waitpid(3230) rc 3230 status 0
Running scriptlet: dfx-mgr-1.0-r0.0.cortexa72_cortexa53 11/13
%preun(dfx-mgr-1.0-r0.0.cortexa72_cortexa53): scriptlet start
%preun(dfx-mgr-1.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3274
+ '[' 1 = 0 ']'
%preun(dfx-mgr-1.0-r0.0.cortexa72_cortexa53): waitpid(3274) rc 3274 status 0
Cleanup : dfx-mgr-1.0-r0.0.cortexa72_cortexa53 11/13
Running scriptlet: dfx-mgr-1.0-r0.0.cortexa72_cortexa53 11/13
%postun(dfx-mgr-1.0-r0.0.cortexa72_cortexa53): scriptlet start
%postun(dfx-mgr-1.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3275
+ '[' 1 = 0 ']'
%postun(dfx-mgr-1.0-r0.0.cortexa72_cortexa53): waitpid(3275) rc 3275 status 0
Cleanup : xrt-202210.2.13.0-r0.0.cortexa72_cortexa53 12/13
Obsoleting : libdfx-1.0-r0.0.cortexa72_cortexa53 13/13
Verifying : libdfx1.0-1.0-r0.2.cortexa72_cortexa53 1/13
Verifying : libdfx-1.0-r0.0.cortexa72_cortexa53 2/13
Verifying : python3-graphviz-0.17-r0.0.cortexa72_cortexa53 3/13
Verifying : python3-protobuf-3.17.3-r0.0.cortexa72_cortexa53 4/13
Verifying : target-factory-2.5-r0.0.cortexa72_cortexa53 5/13
Verifying : unilog-2.5-r0.0.cortexa72_cortexa53 6/13
Verifying : vart-2.5-r0.4.cortexa72_cortexa53 7/13
Verifying : vitis-ai-library-2.5-r0.4.cortexa72_cortexa53 8/13
Verifying : xir-2.5-r0.0.cortexa72_cortexa53 9/13
Verifying : dfx-mgr-1.0-r0.2.cortexa72_cortexa53 10/13
Verifying : dfx-mgr-1.0-r0.0.cortexa72_cortexa53 11/13
Verifying : xrt-202220.2.14.0-r0.0.cortexa72_cortexa53 12/13
Verifying : xrt-202210.2.13.0-r0.0.cortexa72_cortexa53 13/13
Upgraded:
dfx-mgr-1.0-r0.2.cortexa72_cortexa53
xrt-202220.2.14.0-r0.0.cortexa72_cortexa53
Installed:
libdfx1.0-1.0-r0.2.cortexa72_cortexa53
python3-graphviz-0.17-r0.0.cortexa72_cortexa53
python3-protobuf-3.17.3-r0.0.cortexa72_cortexa53
target-factory-2.5-r0.0.cortexa72_cortexa53
unilog-2.5-r0.0.cortexa72_cortexa53
vart-2.5-r0.4.cortexa72_cortexa53
vitis-ai-library-2.5-r0.4.cortexa72_cortexa53
xir-2.5-r0.0.cortexa72_cortexa53
Complete!
xilinx-k26-starterkit-20221:~$ sudo dnf install vitis-ai-library-dev.cortexa72_cortexa53
Last metadata expiration check: 0:28:02 ago on Fri Nov 11 04:17:42 2022.
Dependencies resolved.
================================================================================
Package Architecture Version Repo
Size
================================================================================
Installing:
vitis-ai-library-dev cortexa72_cortexa53 2.5-r0.4 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
354 k
Installing dependencies:
boost cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
6.6 k
boost-log cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
397 k
boost-math cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
307 k
boost-serialization cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
97 k
boost-test cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
212 k
googletest cortexa72_cortexa53 1.11.0+git0+e2239ee604-r0.0
oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
5.8 k
googletest-staticdev cortexa72_cortexa53 1.11.0+git0+e2239ee604-r0.0
oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
166 k
libboost-atomic1.77.0 cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
12 k
libboost-chrono1.77.0 cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
18 k
libboost-container1.77.0 cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
35 k
libboost-context1.77.0 cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
9.6 k
libboost-contract1.77.0 cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
33 k
libboost-coroutine1.77.0 cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
23 k
libboost-date-time1.77.0 cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
8.3 k
libboost-fiber1.77.0 cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
31 k
libboost-graph1.77.0 cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
123 k
libboost-iostreams1.77.0 cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
28 k
libboost-locale1.77.0 cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
199 k
libboost-python39-1.77.0 cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
72 k
libboost-random1.77.0 cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
18 k
libboost-regex1.77.0 cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
89 k
libboost-thread1.77.0 cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
37 k
libboost-timer1.77.0 cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
18 k
libboost-type-erasure1.77.0 cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
22 k
libboost-wave1.77.0 cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
183 k
libprotobuf-c-compiler cortexa72_cortexa53 1.3.3-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
59 k
libprotobuf-c1 cortexa72_cortexa53 1.3.3-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
22 k
libprotobuf-compiler cortexa72_cortexa53 3.18.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
733 k
libprotobuf-lite29 cortexa72_cortexa53 3.18.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
177 k
opencl-headers cortexa72_cortexa53 git-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
5.6 k
python3-pybind11 cortexa72_cortexa53 2.7.0-r0.1 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
157 k
rapidjson cortexa72_cortexa53 1.1.0+git0+0ccdbf364c-r0.0
oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
5.8 k
Installing weak dependencies:
boost-dev cortexa72_cortexa53 1.77.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
11 M
googletest-dev cortexa72_cortexa53 1.11.0+git0+e2239ee604-r0.0
oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
173 k
graphviz-dev cortexa72_cortexa53 2.44.1-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
36 k
libcroco-dev cortexa72_cortexa53 0.6.13-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
28 k
libdfx-dev cortexa72_cortexa53 1.0-r0.2 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
7.2 k
libjson-c-dev cortexa72_cortexa53 0.15-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
32 k
libopencl-dev cortexa72_cortexa53 2.3.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
13 k
libprotobuf-c-dev cortexa72_cortexa53 1.3.3-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
16 k
libprotobuf-dev cortexa72_cortexa53 3.18.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
342 k
librsvg-2-dev cortexa72_cortexa53 2.40.21-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
17 k
opencl-clhpp-dev cortexa72_cortexa53 2.0.15+git0+f7237f3799-r0.0
oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
45 k
opencl-headers-dev cortexa72_cortexa53 git-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
41 k
python3-graphviz-dev cortexa72_cortexa53 0.17-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
6.0 k
python3-protobuf-dev cortexa72_cortexa53 3.17.3-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
6.2 k
python3-pybind11-dev cortexa72_cortexa53 2.7.0-r0.1 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
139 k
rapidjson-dev cortexa72_cortexa53 1.1.0+git0+0ccdbf364c-r0.0
oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
103 k
target-factory-dev cortexa72_cortexa53 2.5-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
37 k
unilog-dev cortexa72_cortexa53 2.5-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
14 k
vart-dev cortexa72_cortexa53 2.5-r0.4 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
45 k
xir-dev cortexa72_cortexa53 2.5-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
22 k
xrt-dev cortexa72_cortexa53 202220.2.14.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-cortexa72_cortexa53
91 k
zocl-dev xilinx_k26_kv 202210.2.13.0-r0.0 oe-remote-repo-sswreleases-rel-v2022-generic-rpm-xilinx_k26_kv
6.7 k
Transaction Summary
================================================================================
Install 55 Packages
Total size: 16 M
Installed size: 161 M
Is this ok [y/N]: y
Downloading Packages:
[SKIPPED] boost-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] boost-dev-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] boost-log-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] boost-math-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] boost-serialization-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] boost-test-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] googletest-1.11.0+git0+e2239ee604-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] googletest-dev-1.11.0+git0+e2239ee604-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] googletest-staticdev-1.11.0+git0+e2239ee604-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] graphviz-dev-2.44.1-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libboost-atomic1.77.0-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libboost-chrono1.77.0-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libboost-container1.77.0-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libboost-context1.77.0-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libboost-contract1.77.0-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libboost-coroutine1.77.0-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libboost-date-time1.77.0-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libboost-fiber1.77.0-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libboost-graph1.77.0-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libboost-iostreams1.77.0-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libboost-locale1.77.0-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libboost-python39-1.77.0-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libboost-random1.77.0-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libboost-regex1.77.0-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libboost-thread1.77.0-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libboost-timer1.77.0-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libboost-type-erasure1.77.0-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libboost-wave1.77.0-1.77.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libcroco-dev-0.6.13-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libdfx-dev-1.0-r0.2.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libjson-c-dev-0.15-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libopencl-dev-2.3.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libprotobuf-c-compiler-1.3.3-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libprotobuf-c-dev-1.3.3-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libprotobuf-c1-1.3.3-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libprotobuf-compiler-3.18.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libprotobuf-dev-3.18.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] libprotobuf-lite29-3.18.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] librsvg-2-dev-2.40.21-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] opencl-clhpp-dev-2.0.15+git0+f7237f3799-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] opencl-headers-dev-git-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] opencl-headers-git-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] python3-graphviz-dev-0.17-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] python3-protobuf-dev-3.17.3-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] python3-pybind11-2.7.0-r0.1.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] python3-pybind11-dev-2.7.0-r0.1.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] rapidjson-1.1.0+git0+0ccdbf364c-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] rapidjson-dev-1.1.0+git0+0ccdbf364c-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] target-factory-dev-2.5-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] unilog-dev-2.5-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] vart-dev-2.5-r0.4.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] vitis-ai-library-dev-2.5-r0.4.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] xir-dev-2.5-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] xrt-dev-202220.2.14.0-r0.0.cortexa72_cortexa53.rpm: Already downloaded
[SKIPPED] zocl-dev-202210.2.13.0-r0.0.xilinx_k26_kv.rpm: Already downloaded
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : libboost-thread1.77.0-1.77.0-r0.0.cortexa72_cortex 1/55
Running scriptlet: libboost-thread1.77.0-1.77.0-r0.0.cortexa72_cortex 1/55
%post(libboost-thread1.77.0-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libboost-thread1.77.0-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3436
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libboost-thread1.77.0-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3436) rc 3436 status 0
Installing : libboost-context1.77.0-1.77.0-r0.0.cortexa72_corte 2/55
Running scriptlet: libboost-context1.77.0-1.77.0-r0.0.cortexa72_corte 2/55
%post(libboost-context1.77.0-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libboost-context1.77.0-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3438
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libboost-context1.77.0-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3438) rc 3438 status 0
Installing : libboost-chrono1.77.0-1.77.0-r0.0.cortexa72_cortex 3/55
Running scriptlet: libboost-chrono1.77.0-1.77.0-r0.0.cortexa72_cortex 3/55
%post(libboost-chrono1.77.0-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libboost-chrono1.77.0-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3440
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libboost-chrono1.77.0-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3440) rc 3440 status 0
Installing : libboost-timer1.77.0-1.77.0-r0.0.cortexa72_cortexa 4/55
Running scriptlet: libboost-timer1.77.0-1.77.0-r0.0.cortexa72_cortexa 4/55
%post(libboost-timer1.77.0-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libboost-timer1.77.0-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3442
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libboost-timer1.77.0-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3442) rc 3442 status 0
Installing : libboost-coroutine1.77.0-1.77.0-r0.0.cortexa72_cor 5/55
Running scriptlet: libboost-coroutine1.77.0-1.77.0-r0.0.cortexa72_cor 5/55
%post(libboost-coroutine1.77.0-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libboost-coroutine1.77.0-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3444
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libboost-coroutine1.77.0-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3444) rc 3444 status 0
Installing : libboost-fiber1.77.0-1.77.0-r0.0.cortexa72_cortexa 6/55
Running scriptlet: libboost-fiber1.77.0-1.77.0-r0.0.cortexa72_cortexa 6/55
%post(libboost-fiber1.77.0-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libboost-fiber1.77.0-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3446
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libboost-fiber1.77.0-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3446) rc 3446 status 0
Installing : boost-log-1.77.0-r0.0.cortexa72_cortexa53 7/55
Running scriptlet: boost-log-1.77.0-r0.0.cortexa72_cortexa53 7/55
%post(boost-log-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(boost-log-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3448
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(boost-log-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3448) rc 3448 status 0
Installing : libboost-locale1.77.0-1.77.0-r0.0.cortexa72_cortex 8/55
Running scriptlet: libboost-locale1.77.0-1.77.0-r0.0.cortexa72_cortex 8/55
%post(libboost-locale1.77.0-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libboost-locale1.77.0-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3450
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libboost-locale1.77.0-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3450) rc 3450 status 0
Installing : libboost-type-erasure1.77.0-1.77.0-r0.0.cortexa72_ 9/55
Running scriptlet: libboost-type-erasure1.77.0-1.77.0-r0.0.cortexa72_ 9/55
%post(libboost-type-erasure1.77.0-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libboost-type-erasure1.77.0-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3452
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libboost-type-erasure1.77.0-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3452) rc 3452 status 0
Installing : libboost-wave1.77.0-1.77.0-r0.0.cortexa72_cortexa5 10/55
Running scriptlet: libboost-wave1.77.0-1.77.0-r0.0.cortexa72_cortexa5 10/55
%post(libboost-wave1.77.0-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libboost-wave1.77.0-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3454
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libboost-wave1.77.0-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3454) rc 3454 status 0
Installing : libprotobuf-compiler-3.18.0-r0.0.cortexa72_cortexa 11/55
Running scriptlet: libprotobuf-compiler-3.18.0-r0.0.cortexa72_cortexa 11/55
%post(libprotobuf-compiler-3.18.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libprotobuf-compiler-3.18.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3456
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libprotobuf-compiler-3.18.0-r0.0.cortexa72_cortexa53): waitpid(3456) rc 3456 status 0
Installing : libjson-c-dev-0.15-r0.0.cortexa72_cortexa53 12/55
Installing : libboost-regex1.77.0-1.77.0-r0.0.cortexa72_cortexa 13/55
Running scriptlet: libboost-regex1.77.0-1.77.0-r0.0.cortexa72_cortexa 13/55
%post(libboost-regex1.77.0-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libboost-regex1.77.0-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3462
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libboost-regex1.77.0-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3462) rc 3462 status 0
Installing : libboost-random1.77.0-1.77.0-r0.0.cortexa72_cortex 14/55
Running scriptlet: libboost-random1.77.0-1.77.0-r0.0.cortexa72_cortex 14/55
%post(libboost-random1.77.0-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libboost-random1.77.0-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3464
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libboost-random1.77.0-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3464) rc 3464 status 0
Installing : libboost-python39-1.77.0-1.77.0-r0.0.cortexa72_cor 15/55
Running scriptlet: libboost-python39-1.77.0-1.77.0-r0.0.cortexa72_cor 15/55
%post(libboost-python39-1.77.0-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libboost-python39-1.77.0-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3466
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libboost-python39-1.77.0-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3466) rc 3466 status 0
Installing : libboost-iostreams1.77.0-1.77.0-r0.0.cortexa72_cor 16/55
Running scriptlet: libboost-iostreams1.77.0-1.77.0-r0.0.cortexa72_cor 16/55
%post(libboost-iostreams1.77.0-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libboost-iostreams1.77.0-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3468
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libboost-iostreams1.77.0-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3468) rc 3468 status 0
Installing : libboost-graph1.77.0-1.77.0-r0.0.cortexa72_cortexa 17/55
Running scriptlet: libboost-graph1.77.0-1.77.0-r0.0.cortexa72_cortexa 17/55
%post(libboost-graph1.77.0-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libboost-graph1.77.0-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3470
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libboost-graph1.77.0-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3470) rc 3470 status 0
Installing : libboost-date-time1.77.0-1.77.0-r0.0.cortexa72_cor 18/55
Running scriptlet: libboost-date-time1.77.0-1.77.0-r0.0.cortexa72_cor 18/55
%post(libboost-date-time1.77.0-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libboost-date-time1.77.0-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3472
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libboost-date-time1.77.0-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3472) rc 3472 status 0
Installing : libboost-contract1.77.0-1.77.0-r0.0.cortexa72_cort 19/55
Running scriptlet: libboost-contract1.77.0-1.77.0-r0.0.cortexa72_cort 19/55
%post(libboost-contract1.77.0-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libboost-contract1.77.0-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3474
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libboost-contract1.77.0-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3474) rc 3474 status 0
Installing : libboost-container1.77.0-1.77.0-r0.0.cortexa72_cor 20/55
Running scriptlet: libboost-container1.77.0-1.77.0-r0.0.cortexa72_cor 20/55
%post(libboost-container1.77.0-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libboost-container1.77.0-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3476
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libboost-container1.77.0-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3476) rc 3476 status 0
Installing : libboost-atomic1.77.0-1.77.0-r0.0.cortexa72_cortex 21/55
Running scriptlet: libboost-atomic1.77.0-1.77.0-r0.0.cortexa72_cortex 21/55
%post(libboost-atomic1.77.0-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libboost-atomic1.77.0-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3478
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libboost-atomic1.77.0-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3478) rc 3478 status 0
Installing : boost-test-1.77.0-r0.0.cortexa72_cortexa53 22/55
Running scriptlet: boost-test-1.77.0-r0.0.cortexa72_cortexa53 22/55
%post(boost-test-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(boost-test-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3480
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(boost-test-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3480) rc 3480 status 0
Installing : boost-serialization-1.77.0-r0.0.cortexa72_cortexa5 23/55
Running scriptlet: boost-serialization-1.77.0-r0.0.cortexa72_cortexa5 23/55
%post(boost-serialization-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(boost-serialization-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3482
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(boost-serialization-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3482) rc 3482 status 0
Installing : boost-math-1.77.0-r0.0.cortexa72_cortexa53 24/55
Running scriptlet: boost-math-1.77.0-r0.0.cortexa72_cortexa53 24/55
%post(boost-math-1.77.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(boost-math-1.77.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3484
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(boost-math-1.77.0-r0.0.cortexa72_cortexa53): waitpid(3484) rc 3484 status 0
Installing : boost-1.77.0-r0.0.cortexa72_cortexa53 25/55
Installing : boost-dev-1.77.0-r0.0.cortexa72_cortexa53 26/55
Installing : unilog-dev-2.5-r0.0.cortexa72_cortexa53 27/55
Installing : libprotobuf-c-compiler-1.3.3-r0.0.cortexa72_cortex 28/55
Installing : zocl-dev-202210.2.13.0-r0.0.xilinx_k26_kv 29/55
Installing : rapidjson-1.1.0+git0+0ccdbf364c-r0.0.cortexa72_cor 30/55
Installing : rapidjson-dev-1.1.0+git0+0ccdbf364c-r0.0.cortexa72 31/55
Installing : python3-pybind11-2.7.0-r0.1.cortexa72_cortexa53 32/55
Installing : python3-pybind11-dev-2.7.0-r0.1.cortexa72_cortexa5 33/55
Installing : python3-graphviz-dev-0.17-r0.0.cortexa72_cortexa53 34/55
Installing : opencl-headers-git-r0.0.cortexa72_cortexa53 35/55
Installing : opencl-headers-dev-git-r0.0.cortexa72_cortexa53 36/55
Installing : opencl-clhpp-dev-2.0.15+git0+f7237f3799-r0.0.corte 37/55
Installing : libprotobuf-lite29-3.18.0-r0.0.cortexa72_cortexa53 38/55
Running scriptlet: libprotobuf-lite29-3.18.0-r0.0.cortexa72_cortexa53 38/55
%post(libprotobuf-lite29-3.18.0-r0.0.cortexa72_cortexa53): scriptlet start
%post(libprotobuf-lite29-3.18.0-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3506
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libprotobuf-lite29-3.18.0-r0.0.cortexa72_cortexa53): waitpid(3506) rc 3506 status 0
Installing : libprotobuf-dev-3.18.0-r0.0.cortexa72_cortexa53 39/55
Installing : python3-protobuf-dev-3.17.3-r0.0.cortexa72_cortexa 40/55
Installing : libprotobuf-c1-1.3.3-r0.0.cortexa72_cortexa53 41/55
Running scriptlet: libprotobuf-c1-1.3.3-r0.0.cortexa72_cortexa53 41/55
%post(libprotobuf-c1-1.3.3-r0.0.cortexa72_cortexa53): scriptlet start
%post(libprotobuf-c1-1.3.3-r0.0.cortexa72_cortexa53): execv(/bin/sh) pid 3508
+ set -e
+ '[' x = x ']'
+ '[' -x /sbin/ldconfig ']'
+ /sbin/ldconfig
%post(libprotobuf-c1-1.3.3-r0.0.cortexa72_cortexa53): waitpid(3508) rc 3508 status 0
Installing : libprotobuf-c-dev-1.3.3-r0.0.cortexa72_cortexa53 42/55
Installing : target-factory-dev-2.5-r0.0.cortexa72_cortexa53 43/55
Installing : xir-dev-2.5-r0.0.cortexa72_cortexa53 44/55
Installing : libopencl-dev-2.3.0-r0.0.cortexa72_cortexa53 45/55
Installing : libdfx-dev-1.0-r0.2.cortexa72_cortexa53 46/55
Installing : xrt-dev-202220.2.14.0-r0.0.cortexa72_cortexa53 47/55
Installing : vart-dev-2.5-r0.4.cortexa72_cortexa53 48/55
Installing : libcroco-dev-0.6.13-r0.0.cortexa72_cortexa53 49/55
Installing : librsvg-2-dev-2.40.21-r0.0.cortexa72_cortexa53 50/55
Installing : graphviz-dev-2.44.1-r0.0.cortexa72_cortexa53 51/55
Installing : googletest-1.11.0+git0+e2239ee604-r0.0.cortexa72_c 52/55
Installing : googletest-staticdev-1.11.0+git0+e2239ee604-r0.0.c 53/55
Installing : googletest-dev-1.11.0+git0+e2239ee604-r0.0.cortexa 54/55
Installing : vitis-ai-library-dev-2.5-r0.4.cortexa72_cortexa53 55/55
Verifying : boost-1.77.0-r0.0.cortexa72_cortexa53 1/55
Verifying : boost-dev-1.77.0-r0.0.cortexa72_cortexa53 2/55
Verifying : boost-log-1.77.0-r0.0.cortexa72_cortexa53 3/55
Verifying : boost-math-1.77.0-r0.0.cortexa72_cortexa53 4/55
Verifying : boost-serialization-1.77.0-r0.0.cortexa72_cortexa5 5/55
Verifying : boost-test-1.77.0-r0.0.cortexa72_cortexa53 6/55
Verifying : googletest-1.11.0+git0+e2239ee604-r0.0.cortexa72_c 7/55
Verifying : googletest-dev-1.11.0+git0+e2239ee604-r0.0.cortexa 8/55
Verifying : googletest-staticdev-1.11.0+git0+e2239ee604-r0.0.c 9/55
Verifying : graphviz-dev-2.44.1-r0.0.cortexa72_cortexa53 10/55
Verifying : libboost-atomic1.77.0-1.77.0-r0.0.cortexa72_cortex 11/55
Verifying : libboost-chrono1.77.0-1.77.0-r0.0.cortexa72_cortex 12/55
Verifying : libboost-container1.77.0-1.77.0-r0.0.cortexa72_cor 13/55
Verifying : libboost-context1.77.0-1.77.0-r0.0.cortexa72_corte 14/55
Verifying : libboost-contract1.77.0-1.77.0-r0.0.cortexa72_cort 15/55
Verifying : libboost-coroutine1.77.0-1.77.0-r0.0.cortexa72_cor 16/55
Verifying : libboost-date-time1.77.0-1.77.0-r0.0.cortexa72_cor 17/55
Verifying : libboost-fiber1.77.0-1.77.0-r0.0.cortexa72_cortexa 18/55
Verifying : libboost-graph1.77.0-1.77.0-r0.0.cortexa72_cortexa 19/55
Verifying : libboost-iostreams1.77.0-1.77.0-r0.0.cortexa72_cor 20/55
Verifying : libboost-locale1.77.0-1.77.0-r0.0.cortexa72_cortex 21/55
Verifying : libboost-python39-1.77.0-1.77.0-r0.0.cortexa72_cor 22/55
Verifying : libboost-random1.77.0-1.77.0-r0.0.cortexa72_cortex 23/55
Verifying : libboost-regex1.77.0-1.77.0-r0.0.cortexa72_cortexa 24/55
Verifying : libboost-thread1.77.0-1.77.0-r0.0.cortexa72_cortex 25/55
Verifying : libboost-timer1.77.0-1.77.0-r0.0.cortexa72_cortexa 26/55
Verifying : libboost-type-erasure1.77.0-1.77.0-r0.0.cortexa72_ 27/55
Verifying : libboost-wave1.77.0-1.77.0-r0.0.cortexa72_cortexa5 28/55
Verifying : libcroco-dev-0.6.13-r0.0.cortexa72_cortexa53 29/55
Verifying : libdfx-dev-1.0-r0.2.cortexa72_cortexa53 30/55
Verifying : libjson-c-dev-0.15-r0.0.cortexa72_cortexa53 31/55
Verifying : libopencl-dev-2.3.0-r0.0.cortexa72_cortexa53 32/55
Verifying : libprotobuf-c-compiler-1.3.3-r0.0.cortexa72_cortex 33/55
Verifying : libprotobuf-c-dev-1.3.3-r0.0.cortexa72_cortexa53 34/55
Verifying : libprotobuf-c1-1.3.3-r0.0.cortexa72_cortexa53 35/55
Verifying : libprotobuf-compiler-3.18.0-r0.0.cortexa72_cortexa 36/55
Verifying : libprotobuf-dev-3.18.0-r0.0.cortexa72_cortexa53 37/55
Verifying : libprotobuf-lite29-3.18.0-r0.0.cortexa72_cortexa53 38/55
Verifying : librsvg-2-dev-2.40.21-r0.0.cortexa72_cortexa53 39/55
Verifying : opencl-clhpp-dev-2.0.15+git0+f7237f3799-r0.0.corte 40/55
Verifying : opencl-headers-dev-git-r0.0.cortexa72_cortexa53 41/55
Verifying : opencl-headers-git-r0.0.cortexa72_cortexa53 42/55
Verifying : python3-graphviz-dev-0.17-r0.0.cortexa72_cortexa53 43/55
Verifying : python3-protobuf-dev-3.17.3-r0.0.cortexa72_cortexa 44/55
Verifying : python3-pybind11-2.7.0-r0.1.cortexa72_cortexa53 45/55
Verifying : python3-pybind11-dev-2.7.0-r0.1.cortexa72_cortexa5 46/55
Verifying : rapidjson-1.1.0+git0+0ccdbf364c-r0.0.cortexa72_cor 47/55
Verifying : rapidjson-dev-1.1.0+git0+0ccdbf364c-r0.0.cortexa72 48/55
Verifying : target-factory-dev-2.5-r0.0.cortexa72_cortexa53 49/55
Verifying : unilog-dev-2.5-r0.0.cortexa72_cortexa53 50/55
Verifying : vart-dev-2.5-r0.4.cortexa72_cortexa53 51/55
Verifying : vitis-ai-library-dev-2.5-r0.4.cortexa72_cortexa53 52/55
Verifying : xir-dev-2.5-r0.0.cortexa72_cortexa53 53/55
Verifying : xrt-dev-202220.2.14.0-r0.0.cortexa72_cortexa53 54/55
Verifying : zocl-dev-202210.2.13.0-r0.0.xilinx_k26_kv 55/55
Installed:
boost-1.77.0-r0.0.cortexa72_cortexa53
boost-dev-1.77.0-r0.0.cortexa72_cortexa53
boost-log-1.77.0-r0.0.cortexa72_cortexa53
boost-math-1.77.0-r0.0.cortexa72_cortexa53
boost-serialization-1.77.0-r0.0.cortexa72_cortexa53
boost-test-1.77.0-r0.0.cortexa72_cortexa53
googletest-1.11.0+git0+e2239ee604-r0.0.cortexa72_cortexa53
googletest-dev-1.11.0+git0+e2239ee604-r0.0.cortexa72_cortexa53
googletest-staticdev-1.11.0+git0+e2239ee604-r0.0.cortexa72_cortexa53
graphviz-dev-2.44.1-r0.0.cortexa72_cortexa53
libboost-atomic1.77.0-1.77.0-r0.0.cortexa72_cortexa53
libboost-chrono1.77.0-1.77.0-r0.0.cortexa72_cortexa53
libboost-container1.77.0-1.77.0-r0.0.cortexa72_cortexa53
libboost-context1.77.0-1.77.0-r0.0.cortexa72_cortexa53
libboost-contract1.77.0-1.77.0-r0.0.cortexa72_cortexa53
libboost-coroutine1.77.0-1.77.0-r0.0.cortexa72_cortexa53
libboost-date-time1.77.0-1.77.0-r0.0.cortexa72_cortexa53
libboost-fiber1.77.0-1.77.0-r0.0.cortexa72_cortexa53
libboost-graph1.77.0-1.77.0-r0.0.cortexa72_cortexa53
libboost-iostreams1.77.0-1.77.0-r0.0.cortexa72_cortexa53
libboost-locale1.77.0-1.77.0-r0.0.cortexa72_cortexa53
libboost-python39-1.77.0-1.77.0-r0.0.cortexa72_cortexa53
libboost-random1.77.0-1.77.0-r0.0.cortexa72_cortexa53
libboost-regex1.77.0-1.77.0-r0.0.cortexa72_cortexa53
libboost-thread1.77.0-1.77.0-r0.0.cortexa72_cortexa53
libboost-timer1.77.0-1.77.0-r0.0.cortexa72_cortexa53
libboost-type-erasure1.77.0-1.77.0-r0.0.cortexa72_cortexa53
libboost-wave1.77.0-1.77.0-r0.0.cortexa72_cortexa53
libcroco-dev-0.6.13-r0.0.cortexa72_cortexa53
libdfx-dev-1.0-r0.2.cortexa72_cortexa53
libjson-c-dev-0.15-r0.0.cortexa72_cortexa53
libopencl-dev-2.3.0-r0.0.cortexa72_cortexa53
libprotobuf-c-compiler-1.3.3-r0.0.cortexa72_cortexa53
libprotobuf-c-dev-1.3.3-r0.0.cortexa72_cortexa53
libprotobuf-c1-1.3.3-r0.0.cortexa72_cortexa53
libprotobuf-compiler-3.18.0-r0.0.cortexa72_cortexa53
libprotobuf-dev-3.18.0-r0.0.cortexa72_cortexa53
libprotobuf-lite29-3.18.0-r0.0.cortexa72_cortexa53
librsvg-2-dev-2.40.21-r0.0.cortexa72_cortexa53
opencl-clhpp-dev-2.0.15+git0+f7237f3799-r0.0.cortexa72_cortexa53
opencl-headers-git-r0.0.cortexa72_cortexa53
opencl-headers-dev-git-r0.0.cortexa72_cortexa53
python3-graphviz-dev-0.17-r0.0.cortexa72_cortexa53
python3-protobuf-dev-3.17.3-r0.0.cortexa72_cortexa53
python3-pybind11-2.7.0-r0.1.cortexa72_cortexa53
python3-pybind11-dev-2.7.0-r0.1.cortexa72_cortexa53
rapidjson-1.1.0+git0+0ccdbf364c-r0.0.cortexa72_cortexa53
rapidjson-dev-1.1.0+git0+0ccdbf364c-r0.0.cortexa72_cortexa53
target-factory-dev-2.5-r0.0.cortexa72_cortexa53
unilog-dev-2.5-r0.0.cortexa72_cortexa53
vart-dev-2.5-r0.4.cortexa72_cortexa53
vitis-ai-library-dev-2.5-r0.4.cortexa72_cortexa53
xir-dev-2.5-r0.0.cortexa72_cortexa53
xrt-dev-202220.2.14.0-r0.0.cortexa72_cortexa53
zocl-dev-202210.2.13.0-r0.0.xilinx_k26_kv
Complete!
で止まってしまった。[ 3.748461] irq-xilinx: /amba_pl@0/interrupt-controller@80000000: num_irq=32, sw_irq=0, edge=0x1
�Xilinx Zynq MP First Stage Boot Loader
Release 2022.1 Sep 16 2022 - 04:56:15
MultiBootOffset: 0x1F0
Reset Mode : System Reset
Platform: Silicon (4.0), Running on A53-0 (64-bit) Processor, Device Name: XCZUUNKNEG
QSPI 32 bit Boot Mode
FlashID=0x20 0xBB 0x20
Pr�NOTICE: BL31: v2.6(release):0897efd
NOTICE: BL31: Built : 04:58:29, Sep 16 2022
U-Boot 2022.01-g91ad7924-dirty (Sep 15 2022 - 23:00:49 -0600), Build: jenkins-BUILDS-2022.1-som_qspi_generation-131
CPU: ZynqMP
Silicon: v3
Detected name: zynqmp-smk-k26-xcl2g-rev1-sck-kv-g-rev1
Model: ZynqMP SMK-K26 Rev1/B/A
Board: Xilinx ZynqMP
DRAM: 4 GiB
PMUFW: v1.1
Xilinx I2C FRU format at nvmem0:
Manufacturer Name: XILINX
Product Name: SMK-K26-XCL2G
Serial No: XFL1LECE1JTG
Part Number: 5057-01
File ID: 0x0
Revision Number: 1
Xilinx I2C FRU format at nvmem1:
Manufacturer Name: XILINX
Product Name: SCK-KV-G
Serial No: XFL1KO3R1GNH
Part Number: 5066-01
File ID: 0x0
Revision Number: 1
EL Level: EL2
Chip ID: xck26
NAND: 0 MiB
MMC: mmc@ff170000: 1
Loading Environment from nowhere... OK
In: serial
Out: serial
Err: serial
Bootmode: QSPI_MODE
Reset reason: SOFT
Net:
ZYNQ GEM: ff0e0000, mdio bus ff0e0000, phyaddr 1, interface rgmii-id
PHY reset timed out
eth0: ethernet@ff0e0000
gpio: pin gpio@ff0a000038 (gpio 38) value is 0
gpio: pin gpio@ff0a000038 (gpio 38) value is 1
starting USB...
Bus usb@fe200000: Register 2000440 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus usb@fe200000 for devices... 4 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot: 0
model=SMK-K26-XCL2G
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found U-Boot script /boot.scr
2777 bytes read in 13 ms (208 KiB/s)
## Executing script at 20000000
Trying to load boot images from mmc1
22401536 bytes read in 1460 ms (14.6 MiB/s)
47649 bytes read in 19 ms (2.4 MiB/s)
23216160 bytes read in 1518 ms (14.6 MiB/s)
## Loading init Ramdisk from Legacy Image at 04000000 ...
Image Name: petalinux-initramfs-image-xilinx
Created: 2011-04-05 23:00:00 UTC
Image Type: AArch64 Linux RAMDisk Image (uncompressed)
Data Size: 23216096 Bytes = 22.1 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 00100000
Booting using the fdt blob at 0x100000
Loading Ramdisk to 779dc000, end 78ffffe0 ... OK
Loading Device Tree to 000000000fff1000, end 000000000ffffa20 ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 5.15.19-xilinx-v2022.1 (oe-user@oe-host) (aarch64-xilinx-linux-gcc (GCC) 11.2.0, GNU ld (GNU Binutils) 2.37.20210721) #1 SMP Wed Jun 15 07:44:17 UTC 2022
[ 0.000000] Machine model: ZynqMP SMK-K26 Rev1/B/A
[ 0.000000] earlycon: cdns0 at MMIO 0x00000000ff010000 (options '115200n8')
[ 0.000000] printk: bootconsole [cdns0] enabled
[ 0.000000] efi: UEFI not found.
[ 0.000000] Zone ranges:
[ 0.000000] DMA32 [mem 0x0000000000000000-0x00000000ffffffff]
[ 0.000000] Normal [mem 0x0000000100000000-0x000000087fffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x000000003ecfffff]
[ 0.000000] node 0: [mem 0x000000003ed00000-0x000000003ee47fff]
[ 0.000000] node 0: [mem 0x000000003ee48000-0x000000007fefffff]
[ 0.000000] node 0: [mem 0x0000000800000000-0x000000087fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000087fffffff]
[ 0.000000] On node 0, zone Normal: 256 pages in unavailable ranges
[ 0.000000] cma: Reserved 900 MiB at 0x000000003f400000
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] psci: SMC Calling Convention v1.2
[ 0.000000] percpu: Embedded 18 pages/cpu s34776 r8192 d30760 u73728
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: ARM erratum 845719
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1031940
[ 0.000000] Kernel command line: earlycon console=ttyPS1,115200 clk_ignore_unused init_fatal_sh=1 cma=900M
[ 0.000000] Unknown kernel command line parameters "init_fatal_sh=1", will be passed to user space.
[ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] software IO TLB: mapped [mem 0x000000007bf00000-0x000000007ff00000] (64MB)
[ 0.000000] Memory: 3078456K/4193280K available (14528K kernel code, 1012K rwdata, 4060K rodata, 2176K init, 571K bss, 193224K reserved, 921600K cma-reserved)
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
[ 0.000000] Root IRQ handler: gic_handle_irq
[ 0.000000] GIC: Using split EOI/Deactivate mode
[ 0.000000] random: get_random_bytes called from start_kernel+0x474/0x6d4 with crng_init=0
[ 0.000000] arch_timer: cp15 timer(s) running at 99.99MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x171015c90f, max_idle_ns: 440795203080 ns
[ 0.000000] sched_clock: 56 bits at 99MHz, resolution 10ns, wraps every 4398046511101ns
[ 0.008311] Console: colour dummy device 80x25
[ 0.012396] Calibrating delay loop (skipped), value calculated using timer frequency.. 199.99 BogoMIPS (lpj=399996)
[ 0.022752] pid_max: default: 32768 minimum: 301
[ 0.027502] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 0.034699] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 0.043434] rcu: Hierarchical SRCU implementation.
[ 0.047503] EFI services will not be available.
[ 0.051864] smp: Bringing up secondary CPUs ...
[ 0.056573] Detected VIPT I-cache on CPU1
[ 0.056611] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 0.056986] Detected VIPT I-cache on CPU2
[ 0.057008] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[ 0.057345] Detected VIPT I-cache on CPU3
[ 0.057366] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[ 0.057406] smp: Brought up 1 node, 4 CPUs
[ 0.091692] SMP: Total of 4 processors activated.
[ 0.096364] CPU features: detected: 32-bit EL0 Support
[ 0.101468] CPU features: detected: CRC32 instructions
[ 0.106605] CPU: All CPU(s) started at EL2
[ 0.110648] alternatives: patching kernel code
[ 0.116062] devtmpfs: initialized
[ 0.123835] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.128033] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 0.160865] pinctrl core: initialized pinctrl subsystem
[ 0.161343] DMI not present or invalid.
[ 0.164517] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.171088] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
[ 0.177238] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.185060] audit: initializing netlink subsys (disabled)
[ 0.190468] audit: type=2000 audit(0.132:1): state=initialized audit_enabled=0 res=1
[ 0.190810] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.204888] ASID allocator initialised with 65536 entries
[ 0.210295] Serial: AMBA PL011 UART driver
[ 0.233004] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[ 0.234062] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[ 0.240731] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.247387] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[ 1.216681] cryptd: max_cpu_qlen set to 1000
[ 1.239037] DRBG: Continuing without Jitter RNG
[ 1.338750] raid6: neonx8 gen() 2377 MB/s
[ 1.406796] raid6: neonx8 xor() 1761 MB/s
[ 1.474856] raid6: neonx4 gen() 2425 MB/s
[ 1.542907] raid6: neonx4 xor() 1729 MB/s
[ 1.610970] raid6: neonx2 gen() 2294 MB/s
[ 1.679019] raid6: neonx2 xor() 1590 MB/s
[ 1.747086] raid6: neonx1 gen() 1956 MB/s
[ 1.815138] raid6: neonx1 xor() 1348 MB/s
[ 1.883193] raid6: int64x8 gen() 1518 MB/s
[ 1.951248] raid6: int64x8 xor() 859 MB/s
[ 2.019317] raid6: int64x4 gen() 1775 MB/s
[ 2.087359] raid6: int64x4 xor() 945 MB/s
[ 2.155437] raid6: int64x2 gen() 1552 MB/s
[ 2.223489] raid6: int64x2 xor() 834 MB/s
[ 2.291559] raid6: int64x1 gen() 1148 MB/s
[ 2.359613] raid6: int64x1 xor() 575 MB/s
[ 2.359651] raid6: using algorithm neonx4 gen() 2425 MB/s
[ 2.363603] raid6: .... xor() 1729 MB/s, rmw enabled
[ 2.368534] raid6: using neon recovery algorithm
[ 2.373604] iommu: Default domain type: Translated
[ 2.377965] iommu: DMA domain TLB invalidation policy: strict mode
[ 2.384392] SCSI subsystem initialized
[ 2.388035] usbcore: registered new interface driver usbfs
[ 2.393389] usbcore: registered new interface driver hub
[ 2.398654] usbcore: registered new device driver usb
[ 2.403710] mc: Linux media interface: v0.10
[ 2.407909] videodev: Linux video capture interface: v2.00
[ 2.413372] pps_core: LinuxPPS API ver. 1 registered
[ 2.418272] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 2.427361] PTP clock support registered
[ 2.431265] EDAC MC: Ver: 3.0.0
[ 2.434618] zynqmp-ipi-mbox mailbox@ff990400: Registered ZynqMP IPI mbox with TX/RX channels.
[ 2.443030] zynqmp-ipi-mbox mailbox@ff990600: Registered ZynqMP IPI mbox with TX/RX channels.
[ 2.451423] FPGA manager framework
[ 2.454779] Advanced Linux Sound Architecture Driver Initialized.
[ 2.461039] Bluetooth: Core ver 2.22
[ 2.464300] NET: Registered PF_BLUETOOTH protocol family
[ 2.469568] Bluetooth: HCI device and connection manager initialized
[ 2.475885] Bluetooth: HCI socket layer initialized
[ 2.480729] Bluetooth: L2CAP socket layer initialized
[ 2.485749] Bluetooth: SCO socket layer initialized
[ 2.490908] clocksource: Switched to clocksource arch_sys_counter
[ 2.496755] VFS: Disk quotas dquot_6.6.0
[ 2.500569] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 2.511400] NET: Registered PF_INET protocol family
[ 2.512325] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[ 2.520987] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[ 2.528079] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[ 2.536098] TCP bind hash table entries: 32768 (order: 7, 524288 bytes, linear)
[ 2.543534] TCP: Hash tables configured (established 32768 bind 32768)
[ 2.549735] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[ 2.556393] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[ 2.563543] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 2.569356] RPC: Registered named UNIX socket transport module.
[ 2.574936] RPC: Registered udp transport module.
[ 2.579600] RPC: Registered tcp transport module.
[ 2.584267] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 2.591223] PCI: CLS 0 bytes, default 64
[ 2.594686] Trying to unpack rootfs image as initramfs...
[ 2.600672] armv8-pmu pmu: hw perfevents: no interrupt-affinity property, guessing.
[ 2.608019] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[ 3.594509] Freeing initrd memory: 22668K
[ 3.625380] Initialise system trusted keyrings
[ 3.625506] workingset: timestamp_bits=46 max_order=20 bucket_order=0
[ 3.631313] NFS: Registering the id_resolver key type
[ 3.635671] Key type id_resolver registered
[ 3.639760] Key type id_legacy registered
[ 3.643753] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 3.650400] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[ 3.657764] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 3.696710] NET: Registered PF_ALG protocol family
[ 3.696758] xor: measuring software checksum speed
[ 3.704381] 8regs : 2626 MB/sec
[ 3.708112] 32regs : 3110 MB/sec
[ 3.713106] arm64_neon : 2564 MB/sec
[ 3.713592] xor: using function: 32regs (3110 MB/sec)
[ 3.718614] Key type asymmetric registered
[ 3.722679] Asymmetric key parser 'x509' registered
[ 3.727556] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
[ 3.734877] io scheduler mq-deadline registered
[ 3.739374] io scheduler kyber registered
[ 3.743631] irq-xilinx: mismatch in kind-of-intr param
[ 3.748461] irq-xilinx: /amba_pl@0/interrupt-controller@80000000: num_irq=32, sw_irq=0, edge=0x1
を有効化するvitis-ai-library
vitis-ai-library-dev
を有効化する。pacakagegroup-petalinux-opencv
pacakagegroup-petalinux-opencv-dev
(base) masaaki@masaaki-H110M4-M01:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx$ petalinux-package --boot --u-boot --force
[INFO] Sourcing buildtools
INFO: Getting system flash information...
INFO: File in BOOT BIN: "/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/images/linux/zynqmp_fsbl.elf"
INFO: File in BOOT BIN: "/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/images/linux/pmufw.elf"
INFO: File in BOOT BIN: "/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/images/linux/bl31.elf"
INFO: File in BOOT BIN: "/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/images/linux/system-zynqmp-sck-kv-g-revB.dtb"
INFO: File in BOOT BIN: "/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/images/linux/u-boot.elf"
INFO: Generating zynqmp binary package BOOT.BIN...
****** Xilinx Bootgen v2022.1
**** Build date : Mar 30 2022-09:29:13
** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
[WARNING]: Partition zynqmp_fsbl.elf.0 range is overlapped with partition bl31.elf.0 memory range
[INFO] : Bootimage generated successfully
INFO: Binary is ready.
WARNING: Unable to access the TFTPBOOT folder /tftpboot!!!
WARNING: Skip file copy to TFTPBOOT folder!!!
(base) masaaki@masaaki-H110M4-M01:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx$ petalinux-package --wic --images-dir images/linux/ --bootfiles "ramdisk.cpio.gz.u-boot,boot.scr,Image,system.dtb,system-zynqmp-sck-kv-g-revB.dtb" --disk-name "mmcblk1"
INFO: Sourcing build environment
INFO: Extracting rootfs, This may take time!
INFO: Creating wic image...
INFO: wic create /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/build/rootfs.wks --rootfs-dir /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/build/wic/rootfs --bootimg-dir /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/images/linux --kernel-dir /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/images/linux --outdir /tmp/tmp.jOi7D2O7qz -n /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/build/tmp/work/cortexa72-cortexa53-xilinx-linux/wic-tools/1.0-r0/recipe-sysroot-native
INFO: Creating image(s)...
WARNING: bootloader config not specified, using defaults
INFO: The new image(s) can be found here:
/tmp/tmp.jOi7D2O7qz/rootfs-202211091227-mmcblk1.direct
The following build artifacts were used to create the image(s):
ROOTFS_DIR: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/build/wic/rootfs
BOOTIMG_DIR: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/images/linux
KERNEL_DIR: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/images/linux
NATIVE_SYSROOT: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/build/tmp/work/cortexa72-cortexa53-xilinx-linux/wic-tools/1.0-r0/recipe-sysroot-native
INFO: The image(s) were created using OE kickstart file:
/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/build/rootfs.wks
を追加した。CONFIG_vitis-ai-library
CONFIG_vitis-ai-library-dev
CONFIG_vitis-ai-library-dbg
でスペースキーを押して有効化する。vitis-ai-library
vitis-ai-library-dev
vitis-ai-library-dbg
v260_median_platform/kv260_median_plnx$ petalinux-build
[INFO] Sourcing buildtools
[INFO] Building project
[INFO] Sourcing build environment
[INFO] Generating workspace directory
INFO: bitbake petalinux-image-minimal
NOTE: Started PRServer with DBfile: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/build/cache/prserv.sqlite3, Address: 127.0.0.1:46531, PID: 23489
Loading cache: 100% |############################################| Time: 0:00:01
Loaded 6477 entries from dependency cache.
Parsing recipes: 100% |##########################################| Time: 0:00:01
Parsing of 4449 .bb files complete (4441 cached, 8 parsed). 6485 targets, 565 skipped, 1 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |#######################################| Time: 0:00:08
Checking sstate mirror object availability: 100% |###############| Time: 0:00:46
Sstate summary: Wanted 1196 Local 33 Network 716 Missed 447 Current 2989 (62% match, 89% complete)
NOTE: Executing Tasks
ERROR: petalinux-image-minimal-1.0-r0 do_image_cpio: ExecutionError('/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/build/tmp/work/xilinx_k26_kv-xilinx-linux/petalinux-image-minimal/1.0-r0/temp/run.do_image_cpio.24145', 2, None, None)
ERROR: Logfile of failure stored in: /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/build/tmp/work/xilinx_k26_kv-xilinx-linux/petalinux-image-minimal/1.0-r0/temp/log.do_image_cpio.24145
Log data follows:
| DEBUG: Executing python function extend_recipe_sysroot
| NOTE: Direct dependencies are ['/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/components/yocto/layers/core/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb:do_populate_sysroot', 'virtual:native:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/components/yocto/layers/core/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb:do_populate_sysroot', 'virtual:native:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/components/yocto/layers/core/meta/recipes-devtools/opkg/opkg_0.4.5.bb:do_populate_sysroot', 'virtual:native:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/components/yocto/layers/core/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.4.bb:do_populate_sysroot', 'virtual:native:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/components/yocto/layers/core/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb:do_populate_sysroot', 'virtual:native:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/components/yocto/layers/core/meta/recipes-extended/pigz/pigz_2.6.bb:do_populate_sysroot', 'virtual:native:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/components/yocto/layers/core/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb:do_populate_sysroot', '/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/components/yocto/layers/core/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb:do_populate_sysroot', 'virtual:native:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/components/yocto/layers/core/meta/recipes-devtools/dnf/dnf_4.8.0.bb:do_populate_sysroot', '/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/components/yocto/layers/core/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb:do_populate_sysroot', 'virtual:native:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/components/yocto/layers/core/meta/recipes-devtools/pseudo/pseudo_git.bb:do_populate_sysroot', 'virtual:native:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/components/yocto/layers/core/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.5.bb:do_populate_sysroot', 'virtual:native:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/components/yocto/layers/core/meta/recipes-extended/cpio/cpio_2.13.bb:do_populate_sysroot', '/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/components/yocto/layers/core/meta/recipes-core/glibc/cross-localedef-native_2.34.bb:do_populate_sysroot', 'virtual:native:/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/components/yocto/layers/core/meta/recipes-bsp/u-boot/u-boot-tools_2021.07.bb:do_populate_sysroot']
| NOTE: Installed into sysroot: []
| NOTE: Skipping as already exists in sysroot: ['ldconfig-native', 'update-rc.d-native', 'opkg-native', 'createrepo-c-native', 'rpm-native', 'pigz-native', 'makedevs-native', 'qemuwrapper-cross', 'dnf-native', 'depmodwrapper-cross', 'pseudo-native', 'opkg-utils-native', 'cpio-native', 'cross-localedef-native', 'u-boot-tools-native', 'shadow-native', 'systemd-systemctl-native', 'qemu-xilinx-native', 'gdk-pixbuf-native', 'gtk+3-native', 'quilt-native', 'libarchive-native', 'automake-native', 'libsolv-native', 'autoconf-native', 'pkgconfig-native', 'libtool-native', 'desktop-file-utils-native', 'python3-native', 'xz-native', 'zlib-native', 'ninja-native', 'curl-native', 'expat-native', 'sqlite3-native', 'glib-2.0-native', 'openssl-native', 'file-native', 'libxml2-native', 'cmake-native', 'bzip2-native', 'gettext-minimal-native', 'libgcrypt-native', 'popt-native', 'db-native', 'elfutils-native', 'patch-native', 'kmod-native', 'python3-iniparse-native', 'libcomps-native', 'libdnf-native', 'librepo-native', 'debianutils-native', 'perl-native', 'texinfo-dummy-native', 'flex-native', 'shared-mime-info-native', 'pmu-rom-native', 'libsdl2-native', 'dtc-native', 'libjpeg-turbo-native', 'meson-native', 'libpng-native', 'gobject-introspection-native', 'gtk-doc-native', 'pango-native', 'libxcomposite-native', 'libxdamage-native', 'libx11-native', 'libxcursor-native', 'libxext-native', 'atk-native', 'libxi-native', 'libxrandr-native', 'at-spi2-atk-native', 'libxrender-native', 'libxfixes-native', 'cairo-native', 'fontconfig-native', 'lzo-native', 'zstd-native', 'e2fsprogs-native', 'gnu-config-native', 'm4-native', 'readline-native', 'gdbm-native', 'libnsl2-native', 'libtirpc-native', 'util-linux-native', 'libffi-native', 're2c-native', 'libpcre-native', 'gettext-native', 'ncurses-native', 'libgpg-error-native', 'libcap-native', 'libmicrohttpd-native', 'attr-native', 'python3-setuptools-native', 'python3-six-native', 'libcheck-native', 'swig-native', 'json-c-native', 'libmodulemd-native', 'gpgme-native', 'perlcross-native', 'xmlto-native', 'itstool-native', 'mesa-native', 'harfbuzz-native', 'fribidi-native', 'freetype-native', 'libxft-native', 'xorgproto-native', 'util-macros-native', 'libxcb-native', 'xtrans-native', 'dbus-native', 'at-spi2-core-native', 'libsm-native', 'pixman-native', 'gperf-native', 'libcap-ng-native', 'util-linux-libuuid-native', 'libpcre2-native', 'gnutls-native', 'libyaml-native', 'libassuan-native', 'libxslt-native', 'docbook-xsl-stylesheets-native', 'docbook-xml-dtd4-native', 'xrandr-native', 'libxxf86vm-native', 'libdrm-native', 'chrpath-native', 'python3-mako-native', 'makedepend-native', 'icu-native', 'libxdmcp-native', 'libpthread-stubs-native', 'xcb-proto-native', 'libxau-native', 'libxtst-native', 'libice-native', 'libidn2-native', 'gmp-native', 'libunistring-native', 'nettle-native', 'libpciaccess-native', 'unzip-native']
| DEBUG: Python function extend_recipe_sysroot finished
| DEBUG: Executing python function set_image_size
| DEBUG: 3042031.200000 = 2340024 * 1.300000
| DEBUG: 3144431.200000 = max(3042031.200000, 65536)[3042031.200000] + 102400
| DEBUG: 3144432.000000 = int(3144431.200000)
| DEBUG: 3144432 = aligned(3144432)
| DEBUG: returning 3144432
| DEBUG: Python function set_image_size finished
| DEBUG: Executing shell function do_image_cpio
| 4328503 blocks
| cpio: cannot seek on output: Invalid argument
| WARNING: exit code 2 from a shell command.
ERROR: Task (/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/components/yocto/layers/meta-petalinux/recipes-core/images/petalinux-image-minimal.bb:do_image_cpio) failed with exit code '1'
NOTE: Tasks Summary: Attempted 10444 tasks of which 10443 didn't need to be rerun and 1 failed.
Summary: 1 task failed:
/media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/components/yocto/layers/meta-petalinux/recipes-core/images/petalinux-image-minimal.bb:do_image_cpio
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
ERROR: Failed to build project. Check the /media/masaaki/Ubuntu_Disk/KRIA_KV260/2022.1/kv260_median_platform/kv260_median_plnx/build/build.log file for more details...
kv260_median_platform/device-tree-xlnx/median_sobel_bmp.dtbo
kv260_median_platform/kv260_median_pkg/median_sobel_bmp_system/Hardware/package.build/package/median_sobel_bmp.bit.bin
kv260_median_platform/kv260_median_pkg/pfm/shell.json
kv260_median_platform/kv260_median_pkg/median_sobel_bmp/Hardware/median_sobel_bmp
kv260_median_platform/kv260_median_pkg/median_sobel_bmp_system_hw_link/Hardware/binary_container_1.xclbin
// bmp_header.h
// BMP ファイルフォーマットから引用させて頂きました
// http://www.kk.iij4u.or.jp/~kondo/bmp/
//
// 2017/05/04 : takseiさんのご指摘によりintX_tを使った宣言に変更。takseiさんありがとうございました
// 変数の型のサイズの違いによってLinuxの64ビット版では動作しなかったためです
// http://marsee101.blog19.fc2.com/blog-entry-3354.html#comment2808
//
#include <stdio.h>
#include <stdint.h>
// BITMAPFILEHEADER 14bytes
typedef struct tagBITMAPFILEHEADER {
uint16_t bfType;
uint32_t bfSize;
uint16_t bfReserved1;
uint16_t bfReserved2;
uint32_t bfOffBits;
} BITMAPFILEHEADER;
// BITMAPINFOHEADER 40bytes
typedef struct tagBITMAPINFOHEADER{
uint32_t biSize;
int32_t biWidth;
int32_t biHeight;
uint16_t biPlanes;
uint16_t biBitCount;
uint32_t biCompression;
uint32_t biSizeImage;
int32_t biXPixPerMeter;
int32_t biYPixPerMeter;
uint32_t biClrUsed;
uint32_t biClrImporant;
} BITMAPINFOHEADER;
typedef struct BMP24bitsFORMAT {
uint8_t blue;
uint8_t green;
uint8_t red;
} BMP24FORMAT;
// sobel_filter_axim_k.cpp
// 2020/04/15 by marsee
#include <stdint.h>
#define HORIZONTAL 0
#define VERTICAL 1
int32_t sobel_fil(int32_t h_or_v, int32_t x0y0, int32_t x1y0, int32_t x2y0, int32_t x0y1,
int32_t x1y1, int32_t x2y1, int32_t x0y2, int32_t x1y2, int32_t x2y2);
int32_t conv_rgb2y(int32_t rgb);
int32_t square_root8(int32_t val);
#define DISPLAY_WIDTH 800
#define DISPLAY_HIGHT 600
extern "C" {
void sobel_filter_axim(int32_t *cam_fb, int32_t *sobel_fb){
#pragma HLS INTERFACE m_axi depth=480000 port=sobel_fb offset=slave
#pragma HLS INTERFACE m_axi depth=480000 port=cam_fb offset=slave
#pragma HLS INTERFACE s_axilite port=return
int32_t sobel_val, sobel_h_val, sobel_v_val;
int32_t line_buf[2][DISPLAY_WIDTH];
#pragma HLS array_partition variable=line_buf block factor=2 dim=1
#pragma HLS resource variable=line_buf core=RAM_2P
int32_t pix_mat[3][3];
#pragma HLS array_partition variable=pix_mat complete
LOOP_Y: for(int y=0; y<DISPLAY_HIGHT; y++){
LOOP_X: for(int x=0; x<DISPLAY_WIDTH; x++){
#pragma HLS PIPELINE II=1
LOOP_PIX_MAT_K: for(int k=0; k<3; k++){
LOOP_PIX_MAT_M: for(int m=0; m<2; m++){
pix_mat[k][m] = pix_mat[k][m+1];
}
}
pix_mat[0][2] = line_buf[0][x];
pix_mat[1][2] = line_buf[1][x];
int32_t y_val = conv_rgb2y(cam_fb[y*DISPLAY_WIDTH+x]);
pix_mat[2][2] = y_val;
line_buf[0][x] = line_buf[1][x]; // 行の入れ替え
line_buf[1][x] = y_val;
sobel_h_val = sobel_fil(HORIZONTAL, pix_mat[0][0], pix_mat[0][1], pix_mat[0][2],
pix_mat[1][0], pix_mat[1][1], pix_mat[1][2],
pix_mat[2][0], pix_mat[2][1], pix_mat[2][2]);
sobel_v_val = sobel_fil(VERTICAL, pix_mat[0][0], pix_mat[0][1], pix_mat[0][2],
pix_mat[1][0], pix_mat[1][1], pix_mat[1][2],
pix_mat[2][0], pix_mat[2][1], pix_mat[2][2]);
sobel_val = square_root8(sobel_h_val*sobel_h_val + sobel_v_val*sobel_v_val);
if(x<2 || y<2)
sobel_val = 0;
sobel_fb[y*DISPLAY_WIDTH+x] = (sobel_val<<16)+(sobel_val<<8)+sobel_val;
}
}
}
}
// RGBからYへの変換
// RGBのフォーマットは、{8'd0, R(8bits), G(8bits), B(8bits)}, 1pixel = 32bits
// 輝度信号Yのみに変換する。変換式は、Y = 0.299R + 0.587G + 0.114B
// "YUVフォーマット及び YUV<->RGB変換"を参考にした。http://vision.kuee.kyoto-u.ac.jp/~hiroaki/firewire/yuv.html
// 2013/09/27 : float を止めて、すべてint にした
int32_t conv_rgb2y(int32_t rgb){
int32_t r, g, b, y_f;
int32_t y;
b = rgb & 0xff;
g = (rgb>>8) & 0xff;
r = (rgb>>16) & 0xff;
y_f = 77*r + 150*g + 29*b; //y_f = 0.299*r + 0.587*g + 0.114*b;の係数に256倍した
y = y_f >> 8; // 256で割る
return(y);
}
// sobel filter
// HORZONTAL
// x0y0 x1y0 x2y0 1 2 1
// x0y1 x1y1 x2y1 0 0 0
// x0y2 x1y2 x2y2 -1 -2 -1
// VERTICAL
// x0y0 x1y0 x2y0 1 0 -1
// x0y1 x1y1 x2y1 2 0 -2
// x0y2 x1y2 x2y2 1 0 -1
int32_t sobel_fil(int32_t h_or_v, int32_t x0y0, int32_t x1y0, int32_t x2y0, int32_t x0y1,
int32_t x1y1, int32_t x2y1, int32_t x0y2, int32_t x1y2, int32_t x2y2){
int32_t y;
if(h_or_v == HORIZONTAL){
y = x0y0 + 2*x1y0 + x2y0 - x0y2 - 2*x1y2 - x2y2;
} else {
y = x0y0 - x2y0 + 2*x0y1 - 2*x2y1 + x0y2 - x2y2;
}
if(y<0)
y = -y;
//y = 0;
else if(y>255)
y = 255;
return(y);
}
// square_root8
// 8bit幅のsquare_rootを求める
int32_t square_root8(int32_t val){
int32_t temp = 0;
int32_t square;
for(int i=7; i>=0; --i){
temp += (1 << i);
square = temp * temp;
if(square > val){
temp -= (1 << i);
}
}
return(temp);
}
// median_sobel_bmp_host.cpp
// 2022/10/31 by marsee
// 2022/11/07 : bug fixed
// Vitis-Tutorials/docs/mixing-c-rtl-kernels/reference-files/src/host/host_step1.cpp のコードを引用します
// https://github.com/Xilinx/Vitis-Tutorials/blob/master/docs/mixing-c-rtl-kernels/reference-files/src/host/host_step1.cpp
#define CL_HPP_CL_1_2_DEFAULT_BUILD
#define CL_HPP_TARGET_OPENCL_VERSION 120
#define CL_HPP_MINIMUM_OPENCL_VERSION 120
#define CL_HPP_ENABLE_PROGRAM_CONSTRUCTION_FROM_ARRAY_COMPATIBILITY 1
#define CL_USE_DEPRECATED_OPENCL_1_2_APIS
#define BLOCK_SIZE 4096
#define MIDEAIN_REG_ADDR 0x80020000
#define AXI_DMA_REG_ADDR 0x80010000
#define IMAGE_WIDTH 800
#define IMAGE_HEIGHT 600
#define IMAGE_CHANNEL 3
#define MAT_IMGAGE_BUF (IMAGE_WIDTH*IMAGE_HEIGHT*IMAGE_CHANNEL)
#define MM2S_CONTROL_REG 0x00
#define MM2S_STATUS_REG (0x4 >> 2)
#define MM2S_START_ADDR (0x18 >> 2)
#define MM2S_LENGTH_REG (0x28 >> 2)
#define S2MM_CONTROL_REG (0x30 >> 2)
#define S2MM_STATUS_REG (0x34 >> 2)
#define S2MM_DESTINATION_ADDR (0x48 >> 2)
#define S2MM_LENGTH_REG (0x58 >> 2)
// bits 1 - idle
#define MM2S_IDLE_MASK 0x2
#define S2MM_IDLE_MASK 0x2
#define MEDIAN_CONTROL 0x00
#define MEDIAN_FUNCTION_R (0x18 >> 2)
#define MEDIAN_ROW_SIZE (0x20 >> 2)
#define MEDIAN_COL_SIZE (0x28 >> 2)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <vector>
#include <CL/cl2.hpp>
#include <iostream>
#include <fstream>
#include <unistd.h>
#include <limits.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <fcntl.h>
#include <unistd.h>
#include "bmp_header.h"
int sobel_fil_soft(int32_t h_or_v, int32_t x0y0, int32_t x1y0, int32_t x2y0, int32_t x0y1,
int32_t x1y1, int32_t x2y1, int32_t x0y2, int32_t x1y2, int32_t x2y2);
int32_t conv_rgb2y_soft(int32_t rgb);
int32_t square_root8_soft(int32_t val);
void sobel_filter_axim_soft(int32_t *cam_fb, int32_t *sobel_fb);
static const std::string error_message =
"Error: Result mismatch:\n"
"i = %d CPU result = %d Device result = %d\n";
//Some Library functions to be used.
template <typename T>
struct aligned_allocator
{
using value_type = T;
T* allocate(std::size_t num)
{
void* ptr = nullptr;
if (posix_memalign(&ptr,4096,num*sizeof(T)))
throw std::bad_alloc();
return reinterpret_cast<T*>(ptr);
}
void deallocate(T* p, std::size_t num)
{
free(p);
}
};
#define OCL_CHECK(error,call) \
call; \
if (error != CL_SUCCESS) { \
printf("%s:%d Error calling " #call ", error code is: %d\n", \
__FILE__,__LINE__, error); \
exit(EXIT_FAILURE); \
}
namespace xcl {
std::vector<cl::Device> get_devices(const std::string& vendor_name) {
size_t i;
cl_int err;
std::vector<cl::Platform> platforms;
OCL_CHECK(err, err = cl::Platform::get(&platforms));
cl::Platform platform;
for (i = 0 ; i < platforms.size(); i++){
platform = platforms[i];
OCL_CHECK(err, std::string platformName = platform.getInfo<CL_PLATFORM_NAME>(&err));
if (platformName == vendor_name){
std::cout << "Found Platform" << std::endl;
std::cout << "Platform Name: " << platformName.c_str() << std::endl;
break;
}
}
if (i == platforms.size()) {
std::cout << "Error: Failed to find Xilinx platform" << std::endl;
exit(EXIT_FAILURE);
}
//Getting ACCELERATOR Devices and selecting 1st such device
std::vector<cl::Device> devices;
OCL_CHECK(err, err = platform.getDevices(CL_DEVICE_TYPE_ACCELERATOR, &devices));
return devices;
}
std::vector<cl::Device> get_xil_devices() {
return get_devices("Xilinx");
}
char* read_binary_file(const std::string &xclbin_file_name, unsigned &nb)
{
std::cout << "INFO: Reading " << xclbin_file_name << std::endl;
if(access(xclbin_file_name.c_str(), R_OK) != 0) {
printf("ERROR: %s xclbin not available please build\n", xclbin_file_name.c_str());
exit(EXIT_FAILURE);
}
//Loading XCL Bin into char buffer
std::cout << "Loading: '" << xclbin_file_name.c_str() << "'\n";
std::ifstream bin_file(xclbin_file_name.c_str(), std::ifstream::binary);
bin_file.seekg (0, bin_file.end);
nb = bin_file.tellg();
bin_file.seekg (0, bin_file.beg);
char *buf = new char [nb];
bin_file.read(buf, nb);
return buf;
}
};
int main(int argc, char* argv[])
{
long x, y;
BITMAPFILEHEADER bmpfhr; // BMPファイルのファイルヘッダ(for Read)
BITMAPINFOHEADER bmpihr; // BMPファイルのINFOヘッダ(for Read)
FILE *fbmpr, *fbmpw;
int32_t blue, green, red;
const char* xclbinFilename;
int fd;
volatile uint32_t *median_reg, *axi_dma_reg;
volatile uint8_t *pict_buf;
int fd_udmabuf;
u_int32_t fd_paddr;
unsigned char attr[1024];
unsigned long phys_addr;
if (argc==2) {
xclbinFilename = argv[1];
std::cout <<"Using FPGA binary file specfied through the command line: " << xclbinFilename << std::endl;
}
else {
xclbinFilename = "../sobel_filter_axim.xclbin";
std::cout << "No FPGA binary file specified through the command line, using:" << xclbinFilename <<std::endl;
}
if ((fbmpr = fopen("test2.bmp", "rb")) == NULL){ // test.bmp をオープン
fprintf(stderr, "Can't open test2.bmp by binary read mode\n");
exit(1);
}
// bmpヘッダの読み出し
fread(&bmpfhr.bfType, sizeof(uint16_t), 1, fbmpr);
fread(&bmpfhr.bfSize, sizeof(uint32_t), 1, fbmpr);
fread(&bmpfhr.bfReserved1, sizeof(uint16_t), 1, fbmpr);
fread(&bmpfhr.bfReserved2, sizeof(uint16_t), 1, fbmpr);
fread(&bmpfhr.bfOffBits, sizeof(uint32_t), 1, fbmpr);
fread(&bmpihr, sizeof(BITMAPINFOHEADER), 1, fbmpr);
// ピクセルを入れるメモリをアロケートする
std::vector<int32_t,aligned_allocator<int32_t>> rd_bmp(bmpihr.biWidth * bmpihr.biHeight);
std::vector<int32_t,aligned_allocator<int32_t>> hw_sobel(bmpihr.biWidth * bmpihr.biHeight);
std::vector<int32_t,aligned_allocator<int32_t>> sw_sobel(bmpihr.biWidth * bmpihr.biHeight);
int size_in_words = bmpihr.biWidth * bmpihr.biHeight;
int size_in_bytes = size_in_words * IMAGE_CHANNEL;
int size_in_uint32 = size_in_words * sizeof(uint32_t);
fd = open("/dev/mem", O_RDWR | O_SYNC);
if (fd == -1){
fprintf(stderr, "/dev/mem open error\n");
exit(-1);
}
// median_filter registers
median_reg = (uint32_t *)mmap(NULL, BLOCK_SIZE,
PROT_READ | PROT_WRITE, MAP_SHARED,
fd, MIDEAIN_REG_ADDR );
if ((int64_t)median_reg == -1){
fprintf(stderr,"/dev/mem map error for median_filter registers\n");
exit(-1);
}
// axi_dma registers
axi_dma_reg = (uint32_t *)mmap(NULL, BLOCK_SIZE,
PROT_READ | PROT_WRITE, MAP_SHARED,
fd, AXI_DMA_REG_ADDR );
if ((int64_t)axi_dma_reg == -1){
fprintf(stderr,"/dev/mem map error for axi_dma registers\n");
exit(-1);
}
// udmabuf0
fd_udmabuf = open("/dev/udmabuf0", O_RDWR | O_SYNC); // frame_buffer, The chache is disabled.
if (fd_udmabuf == -1){
fprintf(stderr, "/dev/udmabuf0 open errorn");
exit(-1);
}
// phys_addr of udmabuf0
fd_paddr = open("/sys/class/u-dma-buf/udmabuf0/phys_addr", O_RDONLY);
if (fd_paddr == -1){
fprintf(stderr, "/sys/class/u-dma-buf/udmabuf0/phys_addr open errorn");
exit(-1);
}
read(fd_paddr, (void *)attr, 1024);
sscanf((const char *)attr, "%lx", &phys_addr);
close(fd_paddr);
printf("phys_addr = %x\n", (unsigned int)phys_addr);
pict_buf = (volatile uint8_t *)mmap(NULL, size_in_bytes*2, PROT_READ|PROT_WRITE, MAP_SHARED, fd_udmabuf, 0);
if (pict_buf == MAP_FAILED){
fprintf(stderr, "org_mat mmap error\n");
exit(-1);
}
volatile uint8_t *median = &pict_buf[size_in_bytes];
// pict_bufに画像イメージを書き込む
for (y=0; y<bmpihr.biHeight; y++){
for (x=0; x<bmpihr.biWidth; x++){
blue = fgetc(fbmpr);
green = fgetc(fbmpr);
red = fgetc(fbmpr);
uint32_t index = (((bmpihr.biHeight-1)-y)*bmpihr.biWidth+x)*IMAGE_CHANNEL;
pict_buf[index] = blue;
pict_buf[index+1] = green;
pict_buf[index+2] = red;
}
}
fclose(fbmpr);
// Halting Run DMA
axi_dma_reg[MM2S_CONTROL_REG] = 1; // MM2S DMA Controll Reg. Run
axi_dma_reg[S2MM_CONTROL_REG] = 1; // S2MM DMA Control Reg. Run
uint32_t median_mat_addr = (uint32_t)phys_addr+size_in_bytes;
uint32_t org_mat_addr = (uint32_t)phys_addr;
// axi dma settings
axi_dma_reg[S2MM_DESTINATION_ADDR] = median_mat_addr;
axi_dma_reg[MM2S_START_ADDR] = org_mat_addr;
axi_dma_reg[S2MM_LENGTH_REG] = size_in_bytes;
axi_dma_reg[MM2S_LENGTH_REG] = size_in_bytes;
// median filter start
median_reg[MEDIAN_COL_SIZE] = bmpihr.biWidth;
median_reg[MEDIAN_ROW_SIZE] = bmpihr.biHeight;
median_reg[MEDIAN_FUNCTION_R] = 3; // median filter for AXI DMA
median_reg[MEDIAN_CONTROL] = 1; // ap_start
// DMA completion detection
uint32_t mm2s_status_reg = axi_dma_reg[MM2S_STATUS_REG] & MM2S_IDLE_MASK;
while(mm2s_status_reg != MM2S_IDLE_MASK){
mm2s_status_reg = axi_dma_reg[MM2S_STATUS_REG] & MM2S_IDLE_MASK;
}
uint32_t s2mm_status_reg = axi_dma_reg[S2MM_STATUS_REG] & S2MM_IDLE_MASK;
while(s2mm_status_reg != S2MM_IDLE_MASK){
s2mm_status_reg = axi_dma_reg[S2MM_STATUS_REG] & S2MM_IDLE_MASK;
}
// Write to median_filter.bmp
// ハードウェアのソーベルフィルタの結果を median_filter.bmp へ出力する
if ((fbmpw=fopen("median_filter.bmp", "wb")) == NULL){
fprintf(stderr, "Can't open median_filter.bmp by binary write mode\n");
exit(1);
}
// BMPファイルヘッダの書き込み
fwrite(&bmpfhr.bfType, sizeof(uint16_t), 1, fbmpw);
fwrite(&bmpfhr.bfSize, sizeof(uint32_t), 1, fbmpw);
fwrite(&bmpfhr.bfReserved1, sizeof(uint16_t), 1, fbmpw);
fwrite(&bmpfhr.bfReserved2, sizeof(uint16_t), 1, fbmpw);
fwrite(&bmpfhr.bfOffBits, sizeof(uint32_t), 1, fbmpw);
fwrite(&bmpihr, sizeof(BITMAPINFOHEADER), 1, fbmpw);
// RGB データの書き込み、逆順にする
for (y=0; y<bmpihr.biHeight; y++){
for (x=0; x<bmpihr.biWidth; x++){
uint32_t index = (((bmpihr.biHeight-1)-y)*bmpihr.biWidth+x)*IMAGE_CHANNEL;
blue = median[index];
green = median[index+1];
red = median[index+2];
fputc(blue, fbmpw);
fputc(green, fbmpw);
fputc(red, fbmpw);
}
}
fclose(fbmpw);
// rd_buf にメディアン・フィルタ処理後のデータを保存する
for (y=0; y<bmpihr.biHeight; y++){
for (x=0; x<bmpihr.biWidth; x++){
uint32_t index = (y*bmpihr.biWidth+x)*IMAGE_CHANNEL;
rd_bmp[y*bmpihr.biWidth+x] = (median[index+2]<<16) + (median[index+1]<<8) + median[index];
}
}
std::vector<cl::Device> devices = xcl::get_xil_devices();
cl::Device device = devices[0];
devices.resize(1);
// Creating Context and Command Queue for selected device
cl::Context context(device);
cl::CommandQueue q(context, device, CL_QUEUE_PROFILING_ENABLE);
// Load xclbin
std::cout << "Loading: '" << xclbinFilename << "'\n";
std::ifstream bin_file(xclbinFilename, std::ifstream::binary);
bin_file.seekg (0, bin_file.end);
unsigned nb = bin_file.tellg();
bin_file.seekg (0, bin_file.beg);
char *buf = new char [nb];
bin_file.read(buf, nb);
// Creating Program from Binary File
cl::Program::Binaries bins;
bins.push_back({buf,nb});
cl::Program program(context, devices, bins);
// This call will get the kernel object from program. A kernel is an
// OpenCL function that is executed on the FPGA.
cl::Kernel krnl_sobel_filter(program,"sobel_filter_axim");
// These commands will allocate memory on the Device. The cl::Buffer objects can
// be used to reference the memory locations on the device.
cl::Buffer rd_bmp_buf(context, CL_MEM_USE_HOST_PTR | CL_MEM_READ_ONLY,
size_in_uint32, rd_bmp.data());
cl::Buffer hw_sobel_buf(context, CL_MEM_USE_HOST_PTR | CL_MEM_READ_WRITE,
size_in_uint32, hw_sobel.data());
// Data will be transferred from system memory over PCIe to the FPGA on-board
// DDR memory.
q.enqueueMigrateMemObjects({rd_bmp_buf},0/* 0 means from host*/);
//set the kernel Arguments
krnl_sobel_filter.setArg(0,rd_bmp_buf);
krnl_sobel_filter.setArg(1,hw_sobel_buf);
cl::Event event;
uint64_t sobel_f_start, sobel_f_end;
//Launch the Kernel
q.enqueueTask(krnl_sobel_filter, NULL, &event);
// The result of the previous kernel execution will need to be retrieved in
// order to view the results. This call will transfer the data from FPGA to
// source_results vector
q.enqueueMigrateMemObjects({hw_sobel_buf},CL_MIGRATE_MEM_OBJECT_HOST);
q.finish();
// 時間計測
event.getProfilingInfo<uint64_t>(CL_PROFILING_COMMAND_START, &sobel_f_start);
event.getProfilingInfo<uint64_t>(CL_PROFILING_COMMAND_END, &sobel_f_end);
auto sobel_f_time = sobel_f_end - sobel_f_start;
printf("sobel_filter_axim: %lu ns\n", sobel_f_time);
// ソフトウェアとハードウェアのチェック
sobel_filter_axim_soft((int32_t *)&rd_bmp[0], (int32_t *)&sw_sobel[0]); // ソフトウェアのソーベル・フィルタ
// ハードウェアとソフトウェアのソーベル・フィルタの値のチェック
for (y=0; y<bmpihr.biHeight; y++){
for (x=0; x<bmpihr.biWidth; x++){
if (hw_sobel[y*bmpihr.biWidth+x] != sw_sobel[y*bmpihr.biWidth+x]){
printf("ERROR HW and SW results mismatch x = %ld, y = %ld, HW = %d, SW = %d\n", x, y, int(hw_sobel[y*bmpihr.biWidth+x]), int(sw_sobel[y*bmpihr.biWidth+x]));
//return(1);
}
}
}
printf("Success HW and SW results match\n");
// ハードウェアのソーベルフィルタの結果を temp_sobel.bmp へ出力する
if ((fbmpw=fopen("temp_sobel.bmp", "wb")) == NULL){
fprintf(stderr, "Can't open temp_sobel.bmp by binary write mode\n");
exit(1);
}
// BMPファイルヘッダの書き込み
fwrite(&bmpfhr.bfType, sizeof(uint16_t), 1, fbmpw);
fwrite(&bmpfhr.bfSize, sizeof(uint32_t), 1, fbmpw);
fwrite(&bmpfhr.bfReserved1, sizeof(uint16_t), 1, fbmpw);
fwrite(&bmpfhr.bfReserved2, sizeof(uint16_t), 1, fbmpw);
fwrite(&bmpfhr.bfOffBits, sizeof(uint32_t), 1, fbmpw);
fwrite(&bmpihr, sizeof(BITMAPINFOHEADER), 1, fbmpw);
// RGB データの書き込み、逆順にする
for (y=0; y<bmpihr.biHeight; y++){
for (x=0; x<bmpihr.biWidth; x++){
uint32_t index = (((bmpihr.biHeight-1)-y)*bmpihr.biWidth+x);
uint32_t pixel = hw_sobel[index];
blue = pixel & 0xff;
green = (pixel>>8) & 0xff;
red = (pixel>>16) & 0xff;
fputc(blue, fbmpw);
fputc(green, fbmpw);
fputc(red, fbmpw);
}
}
fclose(fbmpw);
return(0);
}
#define HORIZONTAL 0
#define VERTICAL 1
void sobel_filter_axim_soft(int32_t *cam_fb, int32_t *sobel_fb){
int32_t sobel_val, sobel_h_val, sobel_v_val;
int32_t line_buf[2][IMAGE_WIDTH];
int32_t pix_mat[3][3];
for(int y=0; y<IMAGE_HEIGHT; y++){
for(int x=0; x<IMAGE_WIDTH; x++){
for(int k=0; k<3; k++){
for(int m=0; m<2; m++){
pix_mat[k][m] = pix_mat[k][m+1];
}
}
pix_mat[0][2] = line_buf[0][x];
pix_mat[1][2] = line_buf[1][x];
int32_t y_val = conv_rgb2y_soft(cam_fb[y*IMAGE_WIDTH+x]);
pix_mat[2][2] = y_val;
line_buf[0][x] = line_buf[1][x]; // 行の入れ替え
line_buf[1][x] = y_val;
sobel_h_val = sobel_fil_soft(HORIZONTAL, pix_mat[0][0], pix_mat[0][1], pix_mat[0][2],
pix_mat[1][0], pix_mat[1][1], pix_mat[1][2],
pix_mat[2][0], pix_mat[2][1], pix_mat[2][2]);
sobel_v_val = sobel_fil_soft(VERTICAL, pix_mat[0][0], pix_mat[0][1], pix_mat[0][2],
pix_mat[1][0], pix_mat[1][1], pix_mat[1][2],
pix_mat[2][0], pix_mat[2][1], pix_mat[2][2]);
sobel_val = square_root8_soft(sobel_h_val*sobel_h_val + sobel_v_val*sobel_v_val);
if(x<2 || y<2)
sobel_val = 0;
sobel_fb[y*IMAGE_WIDTH+x] = (sobel_val<<16)+(sobel_val<<8)+sobel_val;
}
}
}
// RGBからYへの変換
// RGBのフォーマットは、{8'd0, R(8bits), G(8bits), B(8bits)}, 1pixel = 32bits
// 輝度信号Yのみに変換する。変換式は、Y = 0.299R + 0.587G + 0.114B
// "YUVフォーマット及び YUV<->RGB変換"を参考にした。http://vision.kuee.kyoto-u.ac.jp/~hiroaki/firewire/yuv.html
// 2013/09/27 : float を止めて、すべてint にした
int32_t conv_rgb2y_soft(int32_t rgb){
int32_t r, g, b, y_f;
int32_t y;
b = rgb & 0xff;
g = (rgb>>8) & 0xff;
r = (rgb>>16) & 0xff;
y_f = 77*r + 150*g + 29*b; //y_f = 0.299*r + 0.587*g + 0.114*b;の係数に256倍した
y = y_f >> 8; // 256で割る
return(y);
}
// sobel filter
// HORZONTAL
// x0y0 x1y0 x2y0 1 2 1
// x0y1 x1y1 x2y1 0 0 0
// x0y2 x1y2 x2y2 -1 -2 -1
// VERTICAL
// x0y0 x1y0 x2y0 1 0 -1
// x0y1 x1y1 x2y1 2 0 -2
// x0y2 x1y2 x2y2 1 0 -1
int32_t sobel_fil_soft(int32_t h_or_v, int32_t x0y0, int32_t x1y0, int32_t x2y0, int32_t x0y1,
int32_t x1y1, int32_t x2y1, int32_t x0y2, int32_t x1y2, int32_t x2y2){
int32_t y;
if(h_or_v == HORIZONTAL){
y = x0y0 + 2*x1y0 + x2y0 - x0y2 - 2*x1y2 - x2y2;
} else {
y = x0y0 - x2y0 + 2*x0y1 - 2*x2y1 + x0y2 - x2y2;
}
if(y<0)
y = -y;
//y = 0;
else if(y>255)
y = 255;
return(y);
}
// square_root8
// 8bit幅のsquare_rootを求める
int32_t square_root8_soft(int32_t val){
int32_t temp = 0;
int32_t square;
for(int i=7; i>=0; --i){
temp += (1 << i);
square = temp * temp;
if(square > val){
temp -= (1 << i);
}
}
return(temp);
}
左上のExplorer 画面の vitis_ctut_system -> vitis_ctut の vitis_ctut.prj をクリックする。
Application Project Settings 画面が表示される。
Add Hardware Functions... ボタンをクリックする。
日 | 月 | 火 | 水 | 木 | 金 | 土 |
---|---|---|---|---|---|---|
- | - | 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 | - | - | - |