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

news/2024/4/25 7:13:39/文章来源:https://blog.csdn.net/hh1357102/article/details/130165936

目录

    • 开箱配置
    • 激活SDK环境
    • 测试cuda兼容性

开箱配置

更改盒子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_BUILDCOMMAND mkdir -p ${cu_dir})add_custom_command(TARGET ${PROJECT_NAME} PRE_BUILDCOMMAND dlcc ${DLCC_CXX_FLAGS}  -o ${cu_obj} -c ${cu_file})add_custom_command(TARGET ${PROJECT_NAME} POST_BUILDCOMMAND rm ${cu_obj})
endforeach()# 将dlcc编译出来的obj文件打包成临时静态库,编译出可执行程序后删除
add_custom_command(TARGET ${PROJECT_NAME} PRE_BUILDCOMMAND ar cqs ${DLCC_TARGET_FULL_NAME} ${cu_objs})
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILDCOMMAND rm ${DLCC_TARGET_FULL_NAME})

文档在/sdk/documents/下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_102491.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java定位系统源码,通过独特的射频处理,配合先进的位置算法,可以有效计算出复杂环境下的人员与物品的活动信息

智慧工厂人员定位系统源码,区域电子围栏管控源码 文末获取联系! 在工厂日常生产活动中,企业很难精准地掌握访客和承包商等各类人员的实际位置,且无法实时监控巡检人员的巡检路线,当厂区发生灾情或其他异常状况时&#…

postman安装

目录 下载、安装 Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。 Postman原是Chrome浏览器的插件,可以模拟浏览器向后端服务器发起任何形式(如:get、post)的HTTP请求 使用Postman还可以在发起请求时,携带一些请求参数、请求头等信息…

WebSocket+Vue+SpringBoot实现语音通话

参考文章 整体思路 前端点击开始对话按钮后,将监听麦克风,获取到当前的音频,将其装化为二进制数据,通过websocket发送到webscoket服务端,服务端在接收后,将消息写入给指定客户端,客户端拿到发送…

日本PSE认证日本的電気用品安全法METI备案

日本的電気用品安全法(PSE认证)法规要求日本的采购商在购进商品后一个月内必须向日本METI注册申报,并必须将采购商名称或ID标在产品上,以便在今后产品销售过程中进行监督管理,完成后将获得電気用品製造事業届出書&…

Java基础学习(10)

Java基础学习 一、JDK8时间类1.1 Zoneld时区1.2 Instant时间戳1.3 ZonedDateTime1.4 DateTimeFormatter1.5 日历类时间表示1.6 工具类1.7 包装类JDK5提出的新特性Integer成员方法 二、集合进阶2.1 集合的体系结构2.1.1 Collection 2.2collection的遍历方式2.2.1 迭代器遍历2.2.…

元宇宙场景下的实时互动RTI技术能力构建

元宇宙可谓是处在风口浪尖,无数的厂商都对元宇宙未来抱有非常美好的憧憬。正因如此,许许多多厂商都在用他们自己的方案,为元宇宙更快、更好的实现,在自己的领域贡献力量。LiveVideoStack 2022北京站邀请到了 ZEGO 即构科技的解决方…

17.集合

集合 集合类是Java数据结构的实现。Java的集合类是java.util包中的重要内容,它允许以各种方式将元素分组,并定义了各种使这些元素更容易操作的方法。Java集合类是Java将一些基本的和使用频率极高的基础类进行封装和增强后再以一个类的形式提供。集合类是…

【Vue2源码】响应式原理

【Vue2源码】响应式原理 文章目录 【Vue2源码】响应式原理Vue响应式的核心设计思路整体流程响应式中的关键角色检测变化注意事项响应式原理数据观测重写数组7个变异方法增加__ob__属性__ob__有两大用处: Vue.js 基本上遵循 MVVM(Model–View–ViewModel&…

【Cartopy基础入门】如何丝滑的加载Geojson数据

原文作者:我辈李想 版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。 Cartopy基础入门 【Cartopy基础入门】Cartopy的安装 【Cartopy基础入门】如何丝滑的加载Geojson数据 文章目录 Cartopy基础入门一、Geojson数据来源二…

camunda的manual task节点用途

Camunda的Manual Task用于在流程中暂停执行,直到人工干预完成某个任务。与User Task不同,Manual Task没有分配给特定用户或用户组,而是需要手动启动并指定下一步流程。 Manual Task可以用于以下场景: 1、流程执行需要等待人工干…

安全狗入选2023年福建省数字经济核心产业领域创新企业名单

近日,福建省数字福建建设领导小组办公室公布了入选2023年全省数字经济核心产业领域创新企业名单。 作为国内云原生安全领导厂商,安全狗凭借综合表现与优势入选名单,荣膺“未来独角兽”称号。 据悉,此次对“未来独角兽”的评选条件…

Linux文件类型与属性

一、文件类型 Linux 系统下一共分为 7 种文件类型。通过 stat 命令或者 ls 命令来查看文件类型。 - :普通文件 d :目录文件 c :字符设备文件 b :块设备文件 l :符号链接文件 s :套接字文件 p &…

线性模型的介绍

一、背景 在一个理想的连续世界中,任何非线性的东西都可以被线性的东西来拟合,所以理论上线性模型可以模拟物理世界中的绝大多数现象。 线性模型(Linear Model)是机器学习中应用最广泛的模型,指通过样本特征的线性组…

【并发基础】一篇文章带你彻底搞懂Java线程中断的底层原理——interrupt()、interrupted()、isInterrupted()

目录 〇、Java线程中断与阻塞的区别 0.1 线程中断 0.2 线程阻塞 一、线程的中断 二、中断方法 2.1 void interrupt() 2.1.1 可中断的阻塞 2.1.2 不可中断的阻塞 2.1.3 实践案例 2.2 boolean isInterrupted() 2.3 boolean interrupted() 2.4 代码案例 三、源码分析…

指定GPU运行python程序

一、命令行运行python程序时 1、首先查看哪些GPU空闲,nvidia-smi显示当前GPU使用情况。 nvidia-smiGPU:编号,这里是0和1 Fan:风扇转速,在0到100%之间变动,第一个是29% Name:显卡名&#xff…

部署LVS-NAT群集实验

一、 实验准备 负载调度器:内网关 ens33:192.168.109.12,外网关 ens37:12.0.0.1外网 Web节点服务器1:192.168.109.13 Web节点服务器2:192.168.109.14 NFS服务器:192.168.109.11 客户端&#xf…

基于 Windows 安装 ESP32 Arduino 软件开发环境

ESP32 Arduino 源码库:arduino-esp32ESP32 Arduino 环境搭建说明:About Arduino ESP32 其他软件环境需求: Git 环境 1、安装 Arduino 软件 可在 Arduino 官网 获取 Windows 端 Arduino 安装包,如下: 使用如下 .exe 一…

中文编程最高境界,不用编程,会用excel就会用,香不香?

一直以来,关于中文编程的争议从未消停过。现如今,中文编程发展又是如何? ★为了实现中文编程,从未停下脚步 我们知道,中国人一直以来为了实现中文编程付出了不懈的努力,前前后后研发了几十种中文编程语言。…

ModuleNotFoundError: No module named ‘d2l’

目录 1. 下载李沐老师分享的源代码 step1:下载李沐老师分享的源代码: step3:Anaconda Prompt中安装d2l(这个l是英文) step4:运行代码,成功: (番外)ModuleNotFoundError: No mod…

R语言的Meta分析【全流程、不确定性分析】方法与Meta机器学习技术应用

Meta分析是针对某一科研问题,根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法,对来源不同的研究成果进行收集、合并及定量统计分析的方法,最早出现于“循证医学”,现已广泛应用于农林生态,资源环境等方面。…