入门指南#

常见问题解答#

硬件物料清单 (HW BOM) 在哪里?

完整的合格 ARC-OTA 物料清单位于安装指南的采购硬件章节中。

该平台是否支持 MU-MIMO?

ARC-OTA 不提供集成的 MU-MIMO 互操作性,但同一平台能够添加 MU-MIMO 的软件功能。

该平台支持哪些频段?

ARC-OTA 为 n48 和 n78 Sub-6 频段提供经过测试的参考设计。

除了默认配置之外,哪些射频 (RF) 参数可能需要针对特定环境进行额外调整?

pusch_TargetSNRx10, pucch_TargetSNRx10, ssPBCH_BlockPower, min_rxtxtime, TDD Patterns, RU Attenuations

如何在美利坚合众国申请实验许可证?

查看位于 https://apps2.fcc.gov/ELSExperiments/pages/login.htm 的申请。如果您拥有项目实验许可证 (https://apps.fcc.gov/oetcf/els/index.cfm),您也可以通过在该网站上提交请求将其用于创新区(波士顿和 PAWR 平台)。

在哪里可以找到实用的射频 (RF) 工具和计算器?

请参阅 射频无线工具

是否需要 GPS?

是的,GPS 信号对于驱动 5G 网络的精确授时是必要的。如果 GPS 信号不可用,则可以使用 date 命令作为替代方案。此命令对于那些没有时间参考(如 GNSS)但需要 Qg 2 充当主时钟以通过 PTP 将时间和同步传播到从属单元的部署非常有用。

当使用两个 GM 时,您可以手动设置第一个 GM 上的日期和时间,并将其 1PPS/ToD 输出连接到第二个 GM 的 1PPS/ToD 端口(配置为输入)。然后,第二个 GM 输出时钟类=6 的 PTP 消息。

../_images/qg2_ptp.png

如何检查操作系统 (OS) 和内核版本及配置?

使用以下命令

cat /proc/cmdline
 BOOT_IMAGE=/boot/vmlinuz-5.4.0-65-lowlatency root=UUID=d0bc583b-6922-4e70-af14-92b624fe1bbe ro default_hugepagesz=1G hugepagesz=1G hugepages=16 tsc=reliable clocksource=tsc intel_idle.max_cstate=0 mce=ignore_ce processor.max_cstate=0 intel_pstate=disable audit=0 idle=poll isolcpus=2-21 nohz_full=2-21 rcu_nocbs=2-21 rcu_nocb_poll nosoftlockup iommu=off intel_iommu=off irqaffinity=0-1,22-23
uname -a
 Linux dev01 5.4.0-65-lowlatency #73-Ubuntu SMP PREEMPT Mon Jan 18 18:17:38 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

有用的 Shell 脚本#

使用以下 shell 脚本来构建 cuBB(在 /opt/nvidia/cuBB 中创建脚本)

#!/bin/bash
SCRIPT=$(readlink -f $0)
SCRIPT_DIR=$(dirname $SCRIPT)
echo running $SCRIPT
echo running $SCRIPT_DIR
export cuBB_SDK=${SCRIPT_DIR}
insModScript=${SCRIPT_DIR}/cuPHY-CP/external/gdrcopy/
echo $insModScript
cd $insModScript && make && ./insmod.sh && cd -
export LD_LIBRARY_PATH=$cuBB_SDK/gpu-dpdk/build/install/lib/x86_64-linux-gnu
echo $LD_LIBRARY_PATH | sudo tee /etc/ld.so.conf.d/aerial-dpdk.conf
sudo ldconfig
echo "perhaps you want to: "
echo "mkdir build && cd build && cmake .. "
mkdir -p build && cd $_ && cmake .. && time chrt -r 1 taskset -c 2-20 make -j

使用以下 shell 脚本来启动 cuphycontroller(在 /opt/nvidia/cuBB 中创建脚本)

#!/bin/bash
sudo nvidia-smi -pm 1
sudo nvidia-smi -i 0 -lgc $(sudo nvidia-smi -i 0 --query-supported-clocks=graphics --format=csv,noheader,nounits | sort -h | tail -n 1)

SCRIPT=$(readlink -f $0)
SCRIPT_DIR=$(dirname $SCRIPT)
echo running $SCRIPT
echo running $SCRIPT_DIR
export cuBB_SDK=${SCRIPT_DIR}
insModScript=${SCRIPT_DIR}/cuPHY-CP/external/gdrcopy/
echo $insModScript
cd $insModScript && ./insmod.sh && cd -
export LD_LIBRARY_PATH=$cuBB_SDK/gpu-dpdk/build/install/lib/x86_64-linux-gnu:$cuBB_SDK/build/cuPHY-CP/cuphydriver/src
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/mellanox/gdrcopy/src
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/mellanox/dpdk/lib/x86_64-linux-gnu:/opt/mellanox/doca/lib/x86_64-linux-gnu
echo $LD_LIBRARY_PATH | sed 's/:/\n/g' | sudo tee /etc/ld.so.conf.d/aerial-dpdk.conf
sudo ldconfig
export GDRCOPY_PATH_L=$cuBB_SDK/cuPHY-CP/external/gdrcopy/src
export CUDA_MPS_PIPE_DIRECTORY=/var
export CUDA_MPS_LOG_DIRECTORY=/var

sudo -E nvidia-cuda-mps-control -d
sudo -E echo start_server -uid 0 | sudo -E nvidia-cuda-mps-control
sleep 5
echo "perhaps you want to: "
echo "sudo -E LD_LIBRARY_PATH=$cuBB_SDK/gpu-dpdk/build/install/lib/x86_64-linux-gnu/ ./build/cuPHY-CP/cuphycontroller/examples/cuphycontroller_scf P5G_SCF_FXN"
sudo -E ./build/cuPHY-CP/cuphycontroller/examples/cuphycontroller_scf P5G_SCF_FXN
sudo ./build/cuPHY-CP/gt_common_libs/nvIPC/tests/pcap/pcap_collect

CUDA-C 实践#

要学习 CUDA 并教给他人,请参考 GPU 计算课程NVIDIA/UIUC 加速计算教学工具包 中的教学大纲,其中概述了下载的教学工具包中每个模块的组织结构。

更多帮助#

有很多方法可以成为 ARC-OTA 社区的一份子

ARC-OTA 早期采用者社区

成为使用 ARC-OTA 的全球开发者网络的一部分。

arc@nvidia.com

如有关于 ARC-OTA 的问题,请联系 arc@nvidia.com

arc-developers@nvidia.com

联系 arc-developers@nvidia.com 加入 ARC-OTA 开发者邮件列表。

OAI 邮件列表

如有关于 OAI 的任何问题,请联系此邮件列表。

Sterling Skywave 支持

有关 Kubernetes 服务管理产品的任何问题,请参阅 Sterling 网站。

Arrow 支持

如有关于 ORAN 7.2 参考硬件蓝图 的任何问题,请联系 Arrow 支持。