【边缘计算】登临(Goldwasser-UL64)BW-BR2边缘设备配置指南

44 篇文章 4 订阅
1 篇文章 0 订阅

开箱配置

更改盒子root用户密码:

sudo passwd root

(密码同为root)
切换到root用户身份:

su root

查看ssh的状态,没有返回说明没有启动

sudo ps -e|grep ssh

此时说明ssh服务已启动。
更改ssh配置文件

vim /etc/ssh/sshd_config

填加以下内容:

Port 10002
PermitRootLogin yes #允许root用户使用ssh登录

重启服务:

sudo service ssh restart

对应vscode的远程配置为:

Host denglin
HostName 192.168.25.143
Port 18888
User root
StrictHostKeyChecking no

激活SDK环境

source /dl/python/bin/activate
source /dl/sdk/env.sh

每次使用cuda都需激活环境变量,推荐将相关配置写入~/.bashrc内
如果linux命令行不再显示当前路径,则应添加:

PS1='\u@\h:\w\$ '

解决不显示路径的问题。
使用dlsmi命令得出基本配置:
在这里插入图片描述

测试cuda兼容性

cd /dl/sdk/samples/cuda/vectorAdd_nvrtc/
make
/dl/sdk/samples/cuda/vectorAdd_nvrtc/vector_add_nvrtc

进行编译运行即可
盒子中一个标准的cmakelist文件结构如下:

cmake_minimum_required(VERSION 3.5)
project(Vector_ADD_Nvrtc)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/workspace)
set(SDK_DIR $ENV{DLICC_PATH}/../)
set(DLCC_TARGET_SHORT_NAME dltmp)
set(DLCC_TARGET_FULL_NAME libdltmp.a)
# 根据需要设置相应的编译选项,更多的dlcc 编译选项请参考 dlcc --help
set(CXX_FLAGS -std=c++11 -fPIC -fpermissive)
set(DLCC_CXX_FLAGS --cuda-gpu-arch=dlgpuc64 -x cuda  -std=c++11 -fpermissive -fPIC)


# 指定cpp文件和cu文件,分别指定gcc和dlcc去编译
file(GLOB_RECURSE cpp_srcs ${PROJECT_SOURCE_DIR}/src/*.cpp)
file(GLOB_RECURSE cuda_srcs ${PROJECT_SOURCE_DIR}/src/*.cu)

# 打印变量
message("cpp_srcs: ${cpp_srcs}")
message("cuda_srcs: ${cuda_srcs}")

# 添加可执行目标,需要额外链接dlcc编译生成的临时静态库
link_directories(${SDK_DIR}/lib ${CMAKE_BINARY_DIR})
add_executable(${PROJECT_NAME} ${cpp_srcs})
target_compile_options(${PROJECT_NAME} PRIVATE -I${SDK_DIR}/include -I${CMAKE_SOURCE_DIR} ${CXX_FLAGS})
target_link_libraries(${PROJECT_NAME} PRIVATE curt ${DLCC_TARGET_SHORT_NAME})


# 添加pre-build和post-build,使用dlcc并指定相应的编译选项编译出obj文件并在之后删除这些obj文件
foreach (cu_file ${cuda_srcs})
    set(tmp ${cu_file}.o)
    string(REPLACE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} cu_obj "${tmp}")
    string(REGEX MATCH "/.*/" cu_dir ${cu_obj})
    set(cu_objs ${cu_objs} ${cu_obj})
    add_custom_command(TARGET ${PROJECT_NAME} PRE_BUILD
                   COMMAND mkdir -p ${cu_dir})
    add_custom_command(TARGET ${PROJECT_NAME} PRE_BUILD
                   COMMAND dlcc ${DLCC_CXX_FLAGS}  -o ${cu_obj} -c ${cu_file})
    add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
                   COMMAND rm ${cu_obj})
endforeach()


# 将dlcc编译出来的obj文件打包成临时静态库,编译出可执行程序后删除
add_custom_command(TARGET ${PROJECT_NAME} PRE_BUILD
                   COMMAND ar cqs ${DLCC_TARGET_FULL_NAME} ${cu_objs})
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
                   COMMAND rm ${DLCC_TARGET_FULL_NAME})

文档在/sdk/documents/下。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颢师傅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值