Skip to content

Commit

Permalink
Squashed 'ultrasound' changes from ab1ff3d..d5c1b1c (#905)
Browse files Browse the repository at this point in the history
d5c1b1c Merge pull request #165 from yuanqian/fix_api_meta-2
0d165fe update
3120f1e add visble and target_domain
32f9bf9 [fix bug]1.fix abs path in makefile of imagepoint 2. api.json of L2 visible=false
3cc0a3f [doc]add L2 features and tutorial
90a6c05 [doc]leagal
6bbe7d5 Merge pull request #163 from yunleiz/next
1c9d082 [doc] refine tutorial
4f7d0c1 [format] L3
2a9463b Merge branch 'next' of https://gitenterprise.xilinx.com/FaaSApps/xf_ultrasound into next
b67854f [doc]features/details_L2.rst add delay sample mult scanline
cc64796 [format] L3
858df2d [L3] refine accuracy
beb874b Merge pull request #160 from congt/next
cfae80f Merge pull request #162 from yunleiz/next
ddfcd7b [L3] remove small test
9c8b25c Merge pull request #161 from yunleiz/next
cec21dd [L3] refine makefile
8e5fff5 Merge branch 'next' of gitenterprise.xilinx.com:FaaSApps/xf_ultrasound into next
0cff04d [L2]add description for graph_imagepoints and graph_focusing
293dad7 [L2] fixed bugs
a0d89b4 [L2]correct description.json for L2 graph_scanline
9a8a73f [L2] fixed a makefile bug
df8f760 [L2]description.json for L2 mult delay sample and scanline
72b3403 [L2]add graph_delay.json
ef3dc2f [L2 tutorial]
abef6b4 [meta data]
331686f Merge pull request #159 from yunleiz/next
454ffab [remove] data2png move to models
ceff96b [doc] L3 doc update
0856fa7 Merge pull request #158 from yunleiz/next
d94c36e [L3] refine meta data and description
c322805 [L3] update meta and format json.hpp
df5048e [refine]L2 imagepoint remove hardnumber
0d5169f [L1 legal]add header for us_example_parameter
daf6f6d [L3] add license
c25e8e1 [L3] refine makefile
aa28f20 [L3] refine makefile
234ce6e [L3] refine api.json
67b4d83 Merge pull request #157 from yunleiz/next
4a2592c [model] format
b6bff22 [L3] scanline AllinAIE pl freq change to 400
a55e4d7 Merge pull request #152 from changg/aie_cli
085fdc4 Merge pull request #156 from yunleiz/next
db9a639 Merge branch 'next' into aie_cli
0fa1b41 [L1 L3] move dev branch
46a1491 Merge pull request #155 from yunleiz/next
0d9fdae [L3] move models from dev branch
38df5eb [L3] move models from dev branch
346a48e Merge pull request #154 from congt/next
af30489 [L3] move from dev branch
4225747 [L2]add data/ for graph_scanline
b0ce2b3 resolve conflict
8e4cd3a resolve conflict
4196533 resolve conflict
f672081 [standlization]
3263251 fix
f65de04 ad fix
189e34c format json, and add config file
2ee80ac Revert "convert to config"
2b5a833 convert to config
11298bc port to unified command for aie apis
1724ce1 Merge pull request #147 from yunleiz/next
b2aa8b0 [clean] merge mult
e02354e Merge branch 'next' of gitenterprise.xilinx.com:FaaSApps/xf_ultrasound into next
e7cfa29 Merge pull request #150 from congt/next
c934c58 [models] format
1d3e3ab [L3] add scanline_AllinAIE
8d64da9 [add file]L2/include delay sample and mult
cb8bf65 Merge branch 'next' of https://gitenterprise.xilinx.com/FaaSApps/xf_ultrasound into next
c542d5f [standlization]clang-format and legal of makefile
9af2c9f [add L2] graph imagepoint, focusing, scanline
459d38c Merge pull request #148 from congt/next
ff73213 remove unused files
d52f71b [update] interpolation
1968881 [format] apodi and interp
b868bee [E2E]fix coding style of L2/tests/graph_delay/aie_graph/graph.cpp
10fd877 [E2E]add L1
4aafd8f [refine] api.json
9c1d672 [standlization]add L1 L2 of delay sample mult
c7cb72a [api.json] refine api.json
ad3e52d [E2E] add apodization and interpolation unit test
41f76ab Merge pull request #104 from liyuanz/revert-103-next
2f3827b Revert "set visible=False in api.json"
9c88301 Merge pull request #103 from liyuanz/next
3daf775 update
741f03e update
a5bb4e3 Merge pull request #98 from changg/fix_target_domain
211e922 update
a545cf3 fix target domain
42480c3 change 2023.1_stable_latest to 2023.2_stable_latest
f925024 Merge pull request #95 from changg/fix_copyright
d0bf220 fix copyright

Co-authored-by: sdausr <[email protected]>
  • Loading branch information
2 people authored and GitHub Enterprise committed Aug 23, 2023
1 parent dd4227c commit 5fdbd09
Show file tree
Hide file tree
Showing 546 changed files with 4,024,224 additions and 1,654 deletions.
2 changes: 1 addition & 1 deletion ultrasound/Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ VitisLibPipeline (branch: 'next',
TARGETS: 'hls_csim:hls_csynth:hls_cosim:vitis_sw_emu:vitis_hw_emu:vitis_hw_build:vitis_hw_run:vitis_aie_sim:vitis_aie_x86sim',
upstream_dependencies: '',
devtest: 'RunDeploy.sh',
TOOLVERSION: '2023.1_stable_latest')
TOOLVERSION: '2023.2_stable_latest')
16 changes: 16 additions & 0 deletions ultrasound/L1/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
# Copyright (C) 2019-2022, Xilinx, Inc.
# Copyright (C) 2022-2023, Advanced Micro Devices, 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.
# vitis makefile-generator v2.0.8

## Ultrasound Library - Level 1 (L1)

The level 1 of Vitis Ultrasound Library contains the aie kernels. For more details information, please reference to L1 User Guide in the document for usage and design information.
Expand Down
3 changes: 2 additions & 1 deletion ultrasound/L1/include/absV/absV.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/*
* Copyright 2022 Xilinx, Inc.
* Copyright (C) 2019-2022, Xilinx, Inc.
* Copyright (C) 2022-2023, Advanced Micro Devices, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down
3 changes: 2 additions & 1 deletion ultrasound/L1/include/cosV/cosV.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/*
* Copyright 2022 Xilinx, Inc.
* Copyright (C) 2019-2022, Xilinx, Inc.
* Copyright (C) 2022-2023, Advanced Micro Devices, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down
3 changes: 2 additions & 1 deletion ultrasound/L1/include/cosV/cos_lut.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/*
* Copyright 2022 Xilinx, Inc.
* Copyright (C) 2019-2022, Xilinx, Inc.
* Copyright (C) 2022-2023, Advanced Micro Devices, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down
3 changes: 2 additions & 1 deletion ultrasound/L1/include/dataMover/dataMover.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/*
* Copyright 2022 Xilinx, Inc.
* Copyright (C) 2019-2022, Xilinx, Inc.
* Copyright (C) 2022-2023, Advanced Micro Devices, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down
3 changes: 2 additions & 1 deletion ultrasound/L1/include/diffMV/diffMV.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/*
* Copyright 2022 Xilinx, Inc.
* Copyright (C) 2019-2022, Xilinx, Inc.
* Copyright (C) 2022-2023, Advanced Micro Devices, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down
3 changes: 2 additions & 1 deletion ultrasound/L1/include/diffSV/diffSV.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/*
* Copyright 2022 Xilinx, Inc.
* Copyright (C) 2019-2022, Xilinx, Inc.
* Copyright (C) 2022-2023, Advanced Micro Devices, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down
3 changes: 2 additions & 1 deletion ultrasound/L1/include/diffVS/diffVS.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/*
* Copyright 2022 Xilinx, Inc.
* Copyright (C) 2019-2022, Xilinx, Inc.
* Copyright (C) 2022-2023, Advanced Micro Devices, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down
3 changes: 2 additions & 1 deletion ultrasound/L1/include/divVS/divVS.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/*
* Copyright 2022 Xilinx, Inc.
* Copyright (C) 2019-2022, Xilinx, Inc.
* Copyright (C) 2022-2023, Advanced Micro Devices, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down
3 changes: 2 additions & 1 deletion ultrasound/L1/include/equalS/equalS.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/*
* Copyright 2021 Xilinx, Inc.
* Copyright (C) 2019-2022, Xilinx, Inc.
* Copyright (C) 2022-2023, Advanced Micro Devices, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down
101 changes: 101 additions & 0 deletions ultrasound/L1/include/kernel_apodization.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
/*
* Copyright (C) 2019-2022, Xilinx, Inc.
* Copyright (C) 2022-2023, Advanced Micro Devices, 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.
*/

#ifndef __KERNEL_APODIZATION_H__
#define __KERNEL_APODIZATION_H__

#include <adf.h>
#include <kernels.hpp>

namespace us {
namespace L1 {

// declare param
template <class T>
struct para_Apodization {
int iter_line;
int iter_element;
int iter_seg;
int num_line;
int num_element;
int num_seg;
int num_dep_seg; // = num_depth / num_seg = 512
T f_num;
T tileVApo_x;
T tileVApo_z;
T ref_point_x;
T ref_point_z;
void print() {
printf("apo: <%d/%d lines, %d/%d elements, %d/%d segments>\n", iter_line, num_line, iter_element, num_element,
iter_seg, num_seg);
}
void update() {
if (iter_seg != num_seg - 1)
iter_seg++;
else {
iter_seg = 0;
if (iter_element != num_element - 1)
iter_element++;
else {
iter_element = 0;
iter_line++;
}
}
}
};

//----------------------------------------------------
// brief
// apodization_preprocess
//---1.top function to switch between vector and scaler version
//---2.top function to test top graph connection only, no calculation
// apodization_main_precess
//---3.top function to switch between vector and scaler version
//---4.top function to test top graph connection only, no calculation
//----------------------------------------------------

template <typename T, int LEN_OUT, int LEN_IN, int VECDIM, int APODI_PRE_LEN32b_PARA>
void kfun_apodization_pre(adf::output_buffer<T, adf::extents<LEN_OUT> >& __restrict p_invD_out,
adf::input_buffer<T, adf::extents<LEN_IN> >& __restrict p_points_x_in,
adf::input_buffer<T, adf::extents<LEN_IN> >& __restrict p_points_z_in,
const int (&para_const)[APODI_PRE_LEN32b_PARA]);

template <typename T, int LEN_OUT, int LEN_IN, int VECDIM, int APODI_PRE_LEN32b_PARA>
void kfun_apodization_pre_shell(adf::output_buffer<T, adf::extents<LEN_OUT> >& __restrict p_invD_out,
adf::input_buffer<T, adf::extents<LEN_IN> >& __restrict p_points_x_in,
adf::input_buffer<T, adf::extents<LEN_IN> >& __restrict p_points_z_in,
const int (&para_const)[APODI_PRE_LEN32b_PARA]);

template <typename T, int LEN_OUT, int LEN_IN_F, int LEN_IN_D, int VECDIM, int APODI_PRE_LEN32b_PARA>
void __attribute__((noinline))
kfun_apodization_main(adf::output_buffer<T, adf::extents<LEN_OUT> >& __restrict p_apodization_out,
adf::input_buffer<T, adf::extents<LEN_IN_F> >& __restrict p_focal_in,
adf::input_buffer<T, adf::extents<LEN_IN_D> >& __restrict p_invD_in,
const int (&para_const)[APODI_PRE_LEN32b_PARA]);

template <typename T, int LEN_OUT, int LEN_IN_F, int LEN_IN_D, int VECDIM, int APODI_PRE_LEN32b_PARA>
void kfun_apodization_main_shell(
// output_stream<T>* p_apodization_out,
adf::output_buffer<T, adf::extents<LEN_OUT> >& __restrict p_apodization_out,
adf::input_buffer<T, adf::extents<LEN_IN_F> >& __restrict p_focal_in,
adf::input_buffer<T, adf::extents<LEN_IN_D> >& __restrict p_invD_in,
const int (&para_const)[APODI_PRE_LEN32b_PARA]);

} // namespace L1
} // namespace us

#endif //__KERNEL_APODIZATION_H__
Loading

0 comments on commit 5fdbd09

Please sign in to comment.