• [技术干货] FAQ—DevCloud论坛(问题求助)总结-1至12月
    首次使用华为云DevCloud时,开发者们总会遇到一些问题,小编针对大家遇到的问题做了分类总结,比如标准页面的表格数据问题、标准页面的表格数据问题、如何在标准页面的事件里面通过JS代码,获得下拉框选择的值?、标准页面的表格数据问题。憋着急!下面小编就来为大家一一解答遇到这几类问题时该如何快速解决,一步解决大家的困扰。 华为云DevCloud系列产品参考手册:1:软件开发平台(DevCloud)官方手册:https://support.huaweicloud.com/devcloud/index.html软件开发平台(DevCloud)相关文章:https://bbs.huaweicloud.com/forum/thread-59032-1-1.html产品官方页面:https://devcloud.cn-north-4.huaweicloud.com/home2:项目管理(ProjectMan)官方手册:https://support.huaweicloud.com/projectman/index.html项目管理(ProjectMan)更新预览:https://support.huaweicloud.com/wtsnew-projectman/index.html产品官方页面:https://www.huaweicloud.com/product/projectman.html3:appcube应用魔方官方手册:https://support.huaweicloud.com/qs-appcube/appcube_02_0110.htmlappcube操作指导:https://support.huaweicloud.com/appcube_video/index.htmlappcube0元体验官方贴:https://bbs.huaweicloud.com/forum/thread-160880-1-1.html产品官方页面:https://appcube.cn-north-4.huaweicloud.com/studio/index.html#/projects/appcube零代码官方手册:https://support.huaweicloud.com/usermanual-appcube/appcube_05_1404.html问题汇总:(以上问题都是由官方人员解答后的文章链接)应用魔方:Q:如何发布单个模型和页面?A:点击项目左下角【编译】下方的【设置】,选中【源码包】, 点击【详情】后,选择自己要发布的【模型】或者【页面】,发布即可。Q:用户登录接口的验证码字段是否可以去掉?A:登录验证码校验,是用户主动在【登录FLOW】中调用【VERIFY 图元】校验的,只要在FLOW中去掉这个图元就不校验了。登录功能详情介绍见链接。cid:link_0Q:如何删除BPM流程产生的审批流数据?A:可选择【终止BPM】实例操作。BPM详情见链接。挂起/恢复/终止BPM实例_应用魔方 AppCube_API参考_API_BPM_华为云 (huaweicloud.com)Q:AppCube上有没有代码库管理机制?A:目前没有代码管理,只有源码包。源码包相关介绍与操作详情见链接。导入导出应用源码包_应用魔方 AppCube_用户指南_低代码应用开发指导_工程能力_华为云 (huaweicloud.com)Q:cas登录自动创建的用户,页面label标签丢失?A:可能是页面语言引起的不兼容,创建出来的用户默认是英文(修改默认的地方在国际化->翻译工作台),需要修改成中文。把默认语言改成中文,或者在已经创建出来的业务用户语言改成中文后,页面恢复正常。Q:如何在BPM里直接配置业务用户?A:参与者类型选择表达式,表格式的结果只要是合法的字符串就可以,合法字符串包括: “puser:abc","puser:def,user:myUser,group:group1,role:role1",或者“10gd000000GdNnklwyvY,10gd000000Fk2bgHMGxM" id用逗号分隔Q:表格里的筛选是否可以全局操作?A:目前不支持,若需要可以提需求评审,做一个当前页/全局的选项Q:同步过来的部门是否可以批量删除?A:可以删除角色,部门就是我们平台的角色,业务用户暂时不支持批量删除;可以写sql删除Q:如何能把大量重复的代码抽成公共的方法?A:问题详情:方法run().then( xxx ) then里面写了一堆代码吗,如果一个页面上有好几处地方调用了这个模型的run方法,每次都要复制这么一大堆代码,解决方案:如果您希望使用第三方库文件,而当前系统中不存在该库,您可以通过上传,新增该JS/CSS库,并在页面中设计并使用该库,实现引入第三方库的功能。 标准页面 - 获取下拉框选项的value:https://bbs.huaweicloud.com/forum/thread-176551-1-1.html标准页面的表格数据问题:https://bbs.huaweicloud.com/forum/thread-176322-1-1.html标准页面中单选选择默认值为什么不显示 还有日期选择器可以选择默认么:https://bbs.huaweicloud.com/forum/thread-174618-1-1.html如何在标准页面的事件里面通过JS代码,获得下拉框选择的值?:https://bbs.huaweicloud.com/forum/thread-174528-1-1.html如何实现通过下拉框选择,自动将选择的数据赋值给同一个页面的文本框,作为初始化数据?:https://bbs.huaweicloud.com/forum/thread-173494-1-1.htmlAppCube发布微信小程序步骤中校验文件放入根目录下:https://bbs.huaweicloud.com/forum/thread-171831-1-1.html标准页面里面组件的事件,如何调试JS?:https://bbs.huaweicloud.com/forum/thread-173484-1-1.html下拉框:不通过“选项列表”功能,如何实现标准页面的下拉框从后台动态获取数据?:https://bbs.huaweicloud.com/forum/thread-173415-1-1.htmlappcube上传的图片在查看中怎么显示出来:https://bbs.huaweicloud.com/forum.php?mod=viewthread&tid=173294&page=0&authorid=&replytype=&extra=#pid1392704【用户权限】appcube权限体系是什么样的?:cid:link_32【APPcube】产品】【对象功能】字段大小写敏感:cid:link_33【AppCube】【REST功能】请求OBS桶资源时401报错cid:link_34标准页面-获得模型值的问题cid:link_35如何通过自定义JS代码的形式动态控制“开关”的“只读”属性cid:link_36标准页面-基本组件默认样式,如阴影,如何全局自定义?cid:link_37标准页面-基本组件-列表视图,点击某一条数据,怎么知道当前点击的是哪条数据?cid:link_38请问代码库配置是针对整个开发环境生效吗?仓库地址设置后能修改吗?cid:link_39标准页面-组件-选项树,动态设置某条数据的状态?cid:link_40AppCube 中 VueRouter 怎么使用cid:link_41高级页面中-事件和动作怎么理解?cid:link_42表单中插入列表视图,列表中插入输入框,动态绑定label 不显示?cid:link_43【AppCube应用开发】预置库中的element组件库如何引用?cid:link_44如何自定义全局样式?cid:link_45高级页面-流式布局-悬浮模式下,layout定位怎么理解?cid:link_46高级页面-流式布局,预置组件,悬浮模式下Widget定位报错!!!cid:link_47标准页面发布的高级组件采用Widget定位后,报错!!!cid:link_48高级页面中怎么实现类似标准页面基本组件的功能?cid:link_49如何实现一个入口页面,进入多个子项目系统?cid:link_50标准页面-基本组件-列表视图,点击某一条数据,怎么知道当前点击的是哪条数据?cid:link_38标准页面-基本组件默认样式,如阴影,如何全局自定义?cid:link_37标准页面中如何封装echarts组件cid:link_51【Appcube】【脚本】如何下载图片(图片链接为第三方链接,非OBS)cid:link_52【Appcube】如何实现下载给定链接的图片到OBScid:link_53【Appcube】【rest服务】调用rest服务的接口的时候如何查看实际请求的url和请求参数,返回参数,header等cid:link_54【Appcube】【rest服务】如何看到真实请求的完整url和参数cid:link_55【Appcube】【服务编排】中如何获取数组的长度cid:link_56请问有关于APPcube的性能等相关测试报告吗https://bbs.huaweicloud.com/forum/thread-0202101528185018077-1-1.html零代码cid:link_30请教一下,DevCloud 流水线如何自动部署CCI集群呢 https://bbs.huaweicloud.com/forum/thread-0229101215092971070-1-1.htmlAPPCUBE 与IOTDA 交互cid:link_57【APPCUBE】【退出登录】自定义退出功能cid:link_58BPM运行机制cid:link_59 AppCube提供的BPM引擎是用的Activiti吗cid:link_60 轻应用js-api 获取不到HWH5cid:link_61【AppCube】【高级页面内置表格组件】怎么实现数据联动?cid:link_62GIS地图厂商已上传,其中还包含各个楼层的图层 我会在页面加上几个按钮来切换当前显示哪一个图层。比如点中1楼就显示1楼的图层。cid:link_63【AppCube】【文件下载】后端接口返回文件流,使用连接器调用如何下载文件cid:link_64预览的时候文本1F为什么没显示cid:link_65【业务大屏】【数据显示】如何把IOTDA属性数据显示到业务大屏?cid:link_66 IOTDA属性数据如何显示到业务大屏上?cid:link_67【appcube标准页面】【库引入】库执行顺序混乱cid:link_68请问接口未开放是什么原因啊cid:link_69【appcube产品】【自定义连接器功能】认证信息中的鉴权信息cid:link_70【AppCube】【管理页面级数据源、全局状态】数据改变视图不更新cid:link_71[appcube] 如何实现同一系统中根据用户权限,动态展示页面及导航菜单cid:link_72【应用魔方产品】【按钮卡功能】点击按钮获取当前选中值cid:link_73【appcube产品】【设备维修管理系统开发】如何在地图上同时显示工程师和设备的位置cid:link_74Websocket 匿名用户监听事件cid:link_75appcube支持异步或者多线程吗?cid:link_76【AppCube产品】【菜单功能】如何获取配置的菜单树cid:link_77【AppCube】【菜单功能】如何实现tabs路由切换功能cid:link_78rome 模拟设备告警,换了新账号 报500错误cid:link_13【北明】【AppCube】【智慧园区】按照该文档进行配置,到此处会报错cid:link_14【北明】【诺亚】ioc用户权限怎么配置cid:link_15【北明】【诺亚】怎么获取IOC 登录之后的access-tokencid:link_16【北明】【AppCube】【智慧园区】智慧园区运营中心登录后,嵌入的页面,如何获取当前账户登录信息(电话:17564003932)cid:link_17【北明】【AppCube】【智慧园区】智慧园区运营中心,模块页面的层级是不是存在限制?cid:link_18API响应参数cid:link_19如何搭建AppCube本地沙箱环境?cid:link_20想了解下通过Python的Rquest,请求AppCube的一些请求的报错的解决方法cid:link_21每天耗费0.13元,这是什么费用?怎么解除这个? cid:link_22低代码开发模版支持SCRM 模版吗cid:link_23项目管理华为开源镜像站能否统计软件包的下载量cid:link_24@modern-js/codesmith@1.5.1 官方npm源有,但华为云拉不到https://bbs.huaweicloud.com/forum/thread-0283984990093960002-1-1.html导入数据,提示网络繁忙:https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=148204&page=java 方式 obs 文件获取问题:https://bbs.huaweicloud.com/forum/thread-161442-1-1.html权限设置问题:https://bbs.huaweicloud.com/forum/thread-168597-1-1.html规划中的甘特图,选择task 编辑描述信息保存后,选择其他task 工作项视图 描述信息都是上一条的:cid:link_79filebeat镜像更新cid:link_80openEuler-22.03-LTS的repo源部分软件包无法使用cid:link_81登陆完之后无法自动跳转到登陆前页面cid:link_82jdk 镜像站长期没有更新,首页搜索不到cid:link_83华为技术文档中的MR是啥意思 有人知道么cid:link_84 MR啥意思?cid:link_85【软开云】新升级的功能就是画蛇添足,没事找事做cid:link_86【gitlab】希望增加gitlab的镜像源cid:link_87希望添加 min io 镜像cid:link_88【gitlab】希望增加gitlab的镜像源cid:link_87【开源镜像站】【yum更新模块】一直出现Operation timed outcid:link_89Maven源希望添加cid:link_25华为云CodeCheck服务可以发现哪些架构设计的问题?https://bbs.huaweicloud.com/forum/thread-193674-1-1.htmlpython pip源需要更新啦。。。https://bbs.huaweicloud.com/forum/thread-0295101369651526068-1-1.htmlMaven 依赖下载错误提示 500 https://bbs.huaweicloud.com/forum/thread-0202102052588804111-1-1.html会员中心:这个月的会员日活动啥时候公布呀https://bbs.huaweicloud.com/forum/thread-196413-1-1.htmlQ:小助手啊,豆子要过期了,所以换了一个鼠标,不过我们这里在封控,还不知道什么时候解封的确切时间,A:cid:link_90Q:已解决。手抖兑了一个鼠标垫,能退吗???A:https://bbs.huaweicloud.com/forum/thread-181628-1-1.html刚过期的码豆还能有办法补回来吗?cid:link_91 请问华为定制鼠标有使用说明书吗?上面这些按键也不知道怎么用的。cid:link_92 K8Scid:link_93云原生cid:link_94我5月26兑换的路由器为啥还没发货呢cid:link_954月份会员兑换的是还没发货吗?cid:link_96询问cid:link_97Cloudide:Python中无法用pip命令安装的三方包如何安装?cid:link_98会员cid:link_99小助手,我们这里的快递应该可以收了,我还有一个兑换的罗技鼠标还没收。cid:link_100最新更新:会员日取消了cid:link_2610月份兑换的商品没有收到快递信息cid:link_27公众号更新了,不过小助手我这里有个疑问cid:link_28有关专属任务的码豆 cid:link_10现在2022年的最后一个月了,有什么新活动吗cid:link_29安装bo包的时候报错 && 流程编排里出现了无法删除,无法编辑,也点不进去的流程cid:link_11appcube服务编排调用OBS连接器上传附件,上传图片表格等类型的文件需要怎样传参?cid:link_12零代码cid:link_30本帖内容会持续刷新维护和新增问答,如您有本类型问题或问题仍无法解决,欢迎留言交流!最新活动:【DevRun】成长计划—Serverless专场cid:link_2【DevRun】零代码开发体验季cid:link_3【DevRun】华为云AppCube学习赛——湖南机电职业技术学院站cid:link_4【HCSD】潜力测试:华为云数据库技能测评,你敢来挑战吗?cid:link_5【DevRun】软件开发流水线实战营cid:link_6【DevRun】低代码AI应用开发实战营cid:link_7【DevRun全栈成长计划】DevOps全栈实践训练营——六星教育专场cid:link_82022/12/3               眨眼马上过年啦 感谢各位开发者的支持 祝大家新年快乐  我们明年见
  • [互动交流] MRS 3.1.0普通集群怎么安装开源的flink组件
    MRS 3.1.0普通集群怎么安装开源的flink组件,求助各位大神
  • [技术干货] 【CSDN官方】开源又好用的国产SPL-转载
     前言 WebService/Restful广泛应用于程序间通讯,如微服务、数据交换、公共或私有的数据服务等。之所以如此流行,主要是因为WebService/Restful采用了XML/Json这类多层结构化数据进行信息传递。XML/Json不仅是文本格式,而且支持多层结构,可承载足够通用和足够丰富的信息。但多层结构要比传统的二维表复杂,取数后再处理的难度也大。  背景 早期,没有专业的json/XML的后处理技术,Java开发者通常要采取硬写代码或入库再用SQL的方式。硬写代码工作量巨大,计算能力几乎为零,开发效率极低。SQL虽然可以提供部分计算能力,但存在明显的架构缺陷,不仅会因为引入SQL而制造额外的耦合性,而且会因为入库过程导致额外的系统延迟。此外,数据库只适合计算二维表,多层结构化数据的计算能力并不强。  后来,XPath/JsonPath、Python Pandas、Scala这类专业的json/XML的后处理技术出现了,才终于在保证较好架构性的同时,提供了一定的计算能力。但这些技术也存在各自的问题,XPath/JsonPath只支持条件查询和简单聚合,不支持一般的日常计算,比如排序、去重、分组汇总、关联、交集等,而且没有自己的多层数据对象,计算能力较差。  Python Pandas支持一般的日常计算,其数据对象dataFrame能描述二维表,但计算处理多层数据并不方便,而且和Java应用的集成性很不好。Scala的数据对象dataFrame也类似,可以描述多层结构,但计算处理也不方便。此外,Scala和Pandas对XML支持得都不好,要手工进行类型转换,或引入第三方类库,开发效率不高。  所以,SPL是个更好的选择。  专业多层数据对象 SPL是JVM下开源的结构化数据/多层数据处理语言,内置专业的多层数据对象和方便的层次访问方法,可以表达复杂的层次关系,为上层计算能力提供有力的支持。  SPL提供了专业的多层数据对象序表,可以直观地表现XML\Json的层级结构。  比如,从文件读取多层XML串,解析为序表:  A 1    =file(“d:\xml\emp_orders.xml”).read() 2    =xml(A1,“xml/row”) 点击A2格可以看到多层序表的结构,其中,EId、State等字段存储简单数据类型,Orders字段存储记录集合(二维表)。点击Orders中的某一行,可以展开观察数据:   序表也可以表达来自文件的多层Json(与上面的XML同构):  A 1    =file(“d:\xml\emp_orders.json”).read() 2    =json(A1) 点击A2格可以看到,来自Json的序表与来自XML的序表一样。事实上,SPL序表可以统一地表达不同来源的多层数据,无论XML还是Json,无论WebService还是Restful,这是其他技术难以做到的。  SPL提供了方便的多层数据访问方法,可以通过点号访问不同的层级,通过下标访问不同的位置。  第1层的单个字段的集合:A2.(Client)  第1层的多个字段的集合:A2.([Client,Name])  第2层所有记录的集合:A2.conj(Orders)  第1层第10条记录:A2(10)  第1层第10条记录的Orders字段(即所有下层记录):A2(10).Orders  第1层第10条件记录Orders字段的单个字段的集合:(A2(10).Orders).(Amount)  第1层第10条件记录Orders字段的第5条记录:(A2(10).Orders)(5)  第1层的第10-20条记录:A2(to(10,20))  第1层的最后三条记录:A2.m([-1,-2,-3])  SPL序表专业性强,可以表达复杂的层次关系。比如,针对多含多个子文档的多层Json:  [    {       "race": {           "raceId":"1.33.1141109.2",           "meetingId":"1.33.1141109"       },       ...       "numberOfRunners": 2,       "runners": [         {     "horseId":"1.00387464",               "trainer": {                   "trainerId":"1.00034060"               },           "ownerColours":"Maroon,pink,dark blue."           },           {   "horseId":"1.00373620",               "trainer": {                   "trainerId":"1.00010997"               },           "ownerColours":"Black,Maroon,green,pink."           }       ]    }, ... ] 进行不同层级的分组汇总(对trainerId分组,统计每组中 ownerColours的成员个数),一般的技术难以写出代码,SPL就简单多了:  A 1    … 2    =A1(1).runners 3    =A2.groups(trainer.trainerId; ownerColours.array().count():times) 强大计算能力 以序表为基础,SPL内置丰富的计算函数、日期函数、字符串函数,提供了强大的计算能力。依靠函数选项、层次参数等高级语法,SPL提供了超越SQL的计算能力。  SPL内置丰富的计算函数,基础计算一句完成。比如,对多层数据进行条件查询:  A 2    …//省略取数解析 3    =A2.conj(Orders) 4    =A3.select(Amount>1000 && Amount<=2000 && like@c(Client,“business”)) 可以看到,SPL对条件查询的支持很完整,包括关系运算符、逻辑运算符、正则表达式和字符串函数,如模糊匹配like。此外,SPL还支持在条件查询中使用数学运算符(函数)、位置函数、日期函数。  更多例子:  A    B 2    …     3    = A3.sum(Salary)    聚合 4    =A2.groups(State,Gender;avg(Salary),count(1))    第1层分组汇总 5    =A2.conj(Orders).groups(Client;sum(Amount))    第2层分组汇总 6    =A1.new(Name,Gender,Dept,Orders.OrderID,Orders.Client,Orders.Client,Orders.SellerId,Orders.Amount,Orders.OrderDate)    关联 7    =A1.sort(Salary)    排序 8    =A1.id(State)    去重 9    =A2.top(-3;Amount)    topN 10    =A2.groups(Client;top(3,Amount))    组内TopN(窗口函数) SPL内置大量日期函数和字符串函数,在数量和功能上远远超过其他技术甚至SQL,同样的运算代码量更短。比如:  时间类函数,日期增减:elapse("2020-02-27",5) //返回2020-03-03  星期几:day@w("2020-02-27") //返回5,即星期6  N个工作日之后的日期:workday(date("2022-01-01"),25) //返回2022-02-04  字符串类函数,判断是否全为数字:isdigit("12345") //返回true  取子串前面的字符串:substr@l("abCDcdef","cd") //返回abCD  按竖线拆成字符串数组:"aa|bb|cc".split("|") //返回[“aa”,“bb”,“cc”]  SPL还支持年份增减、求年中第几天、求季度、按正则表达式拆分字符串、拆出SQL的where或select部分、拆出单词、按标记拆HTML等功能。  SPL提供了函数选项、层次参数等方便的函数语法,可以提供更强的计算能力。功能相似的函数可以共用一个函数名,只用函数选项区分差别。比如select函数的基本功能是过滤,如果只过滤出符合条件的第1条记录,可使用选项@1:  Orders.select@1(Amount>1000)  数据量较大时,用并行计算提高性能,可使用选项@m:  Orders.select@m(Amount>1000)  对排序过的数据,用二分法进行快速过滤,可用@b:  Orders.select@b(Amount>1000)  函数选项还可以组合搭配,比如:  Orders.select@1b(Amount>1000)  结构化运算函数的参数常常很复杂,比如SQL就需要用各种关键字把一条语句的参数分隔成多个组,但这会动用很多关键字,也使语句结构不统一。SPL支持层次参数,通过分号、逗号、冒号自高而低将参数分为三层,用通用的方式简化复杂参数的表达:  join(Orders:o,SellerId ; Employees:e,EId)  优化体系结构 SPL内置易于集成的JDBC接口,可有效降低系统耦合性,并支持代码热切换。SPL支持多种多层数据源,可用一致的代码进行计算,使代码易于移植。  SPL提供了通用的JDBC接口,可以被JAVA代码方便地集成。 比如,将前面的SPL代码存为脚本文件,在JAVA中以存储过程的形式调用文件名:  Class.forName("com.esproc.jdbc.InternalDriver"); Connection connection =DriverManager.getConnection("jdbc:esproc:local://"); Statement statement = connection.createStatement(); ResultSet result = statement.executeQuery("call groupBy()"); 1 2 3 4 SPL脚本文件外置于JAVA,使计算代码和应用程序分离,可有效降低系统耦合性。SPL是解释型语言,修改后不必重启JAVA应用就可以直接执行,从而实现代码热切换,可保障系统稳定,降低维护难度。  SPL支持来自WebSerivce和Restful的多层数据。比如,从WebService读取多层XML,进行条件查询:  A 1    =ws_client(“http://127.0.0.1:6868/ws/RQWebService.asmx?wsdl”) 2    =ws_call(A1,“RQWebService”:“RQWebServiceSoap”:“getEmp_orders”) 3    =A2.conj(Orders) 4    =A3.select(Amount>1000 && Amount<=2000 && like@c(Client,“business”)) 类似地,从Restful取多层Json,进行同样的条件查询:  A 1    =httpfile(“http://127.0.0.1:6868/restful/emp_orders”).read() 2    =json(A1) 3    =A2.conj(Orders) 4    =A3.select(Amount>1000 && Amount<=2000 && like@c(Client,“business”)) SPL支持MongoDB、ElasticSearch、SalesForce等特殊数据源中的多层数据,可直接从这些数据源取数并计算。  比如,从MongoDB取多层Json,进行条件查询:  A 1    =mongo_open(“mongodb://127.0.0.1:27017/mongo”) 2    =mongo_shell@x(A1,“data.find()”) 3    =A2.conj(Orders) 4    =A3.select(Amount>1000 && Amount<=2000 && like@c(Client,“business”)) 除了多层数据,SPL也支持数据库,txt\csv\xls等文件, Hadoop、redis、Kafka、Cassandra等NoSQL。虽然数据源不同,但在SPL中的数据类型都是序表,因此可以用一致的方法计算多层数据,这样的计算代码也更容易移植。  XPath/JsonPath、Python Pandas、Scala等技术存在各自的缺陷,开发效率不高。SPL内置专业的多层数据对象和方便的层次访问方法,擅长计算结构复杂的多层数据。SPL内置丰富的库函数,提供了超过SQL的计算能力。SPL支持易用的JDBC接口、代码外置能力,支持来自多种文件和网络服务的多层数据源,可大幅提高WebService\Restful取数后的开发效率。  SPL资料 SPL官网 SPL下载 SPL源代码 欢迎对SPL有兴趣的加小助手(VX号:SPL-helper),进SPL技术交流群 ———————————————— 版权声明:本文为CSDN博主「知心宝贝」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_53673551/article/details/125271219 
  • [交流吐槽] 建议华为开源镜像站Ubuntu镜像直接把sources.list内容放出来
    华为开源镜像站的Ubuntu镜像界面里sources.list文件的更新是通过sed工具实现如果之前对官方sources.list进行过修改,比如改成过阿里云镜像站、清华镜像站,则sed工具操作会失败建议直接将包含华为镜像站连接的sources.list内容放出来,用户只需进行复制粘贴即可完成更新
  • [讨论交流] 开源之夏 | 【结项报告】毕昇Fortran编译器内联动态库函数str_copy
    项目简介项目名称:毕昇Fortran编译器内联动态库函数str_copy项目描述:毕昇Fortran编译器是一款基于classic flang的高性能Fortran编译器,支持Fortran编程语言的编译和运行,提供强大的数值计算和数据处理能力,在科学计算领域应用前景广阔。f90_str_copy_klen是一个实现字符串拷贝功能的动态库函数,本项目是对该动态库函数进行内联,预期提高编译器字符串拷贝的性能。项目导师:peixin-qiao项目开发者:王哲葳,华东师范大学硕士在读项目链接:cid:link_2开发详情方案描述Flang编译器主要由flang1和flang2两个组件组成,其中flang1用于解析Fortran代码并生成中间表示,然后通过flang2生成LLVM IR并输出。本项目的主要任务就是在flang2中对解析出的“f90_str_copy_klen”函数进行内联优化。这个项目的方案分为如下几步:01flang2会获得通过Fortran生成的IR指令列表,遍历该列表,寻找到函数调用指令“I_CALL”。02通过“I_CALL”指令的位置查询所调用的是否为需要被内联的函数,如本项目需要实现的“f90_str_copy_klen”函数的内联。在确认需要内联的函数后开始生成相应的指令,“f90_str_copy_klen”函数的内联指令生成过程如下:将复制后得到的字符串称为目标字符串,待复制的字符串称为输入字符串。首先需要从原先的指令中获得输入字符串并开辟一系列内存空间用于记录目标字符串、输入字符串的起始地址、字符串索引及字符串长度。对每一个输入字符串,从头开始遍历。分别判断当前目标字符串、输入字符串的索引是否小于其长度,如果均符合则将输入字符串中对应索引的字符复制到目标字符串的相应地址中。如果输入字符串索引大于等于其长度则处理下一个输入字符串。如果目标字符串索引大于等于其长度则停止字符串的复制。按照2所述流程依次遍历函数中的输入字符串,直至所有字符串都完成复制。目标字符串索引是否仍小于其长度,若是,则将目标字符串中剩余未被赋值的字符用空格进行补充。将实现上述功能的指令替换掉对应的“I_CALL”指令。03继续flang2中的流程以生成对应的LLVM IR 文件。项目产出☑ 实现了项目方案中所需的功能。☑ 分别用一个字符串、三个字符串作为输入字符串,完成了共十种输入字符串各种长度情况下”f90_str_copy_klen”函数内联的的功能性测试,在这些输入字符串中也包含了一些ASCII码小于32(ASCII码为32表示空格)的特殊字符。十种情况如下:a=blen(a) < len(b)len(a) = len(b)len(a) > len(b)a = b // c // dlen(a) < len(b)len(a) = len(b)len(b) < len(a) < len(b) + len(c)len(a) = len(b) + len(c)len(b) + len(c) < len(a) < len(b) + len(c) + len(d)len(a) = len(b) + len(c) + len(d)len(a) > len(b) + len(c) + len(d)☑ 将“f90_str_copy_klen”在函数中调用一亿次,对内联前后所花费的时间做对比。实验结果显示没有内联时运行花费的时间约为10秒,内联后运行花费的时间约为0.7秒。测试代码如下:主函数:main.f90program main   integer :: i   character(20) :: a, b, c, d   a = "aaaaaaaaaaaaaaa"   b = "aaaaaaaaaaaaaaa"   c = "aaaaaaaaaaaaaaa"   do i = 1, 100000000     call test(a, b, c, d, 20)   enddo end字符串拼接拷贝函数:test.f90subroutine test(a, b, c, d, n)   integer :: n   character(n) :: a, b, c, d   d = a // b // c end subroutine测试方法如下:未优化前:$ flang main.f90 -c $ flang test.f90 -O3 -c $ flang main.o test.o -o a.out $ time ./a.out real 0m10.190suser 0m10.180ssys 0m0.004s优化之后(编译选项-Mx,218,0x1使能该优化功能):$ flang main.f90 -c $ flang test.f90 -O3 –c –Mx,218,0x1 $ flang main.o test.o -o a.out $ time ./a.outreal 0m0.706suser 0m0.702ssys 0m0.004s后记除开源之夏外,Compiler SIG还发布了十多个开源实习任务(戳 开源实习1、开源实习2 了解详情),欢迎各位高校生报名参与~
  • [问题求助] 为什么我的代码编译不了?
    而且必须进入bearpi-hm_nano再进行ls才能看见和视频一样的文件
  • [热门活动] 【活动预告】LLVM Clang开源社区线下见面会--加拿大多伦多地区
    活动介绍LLVM是模块化和可重用的编译器和工具链技术的集合。它是许多现代编译器的基础,包括Clang (C/C++/Objective-C)、GHC (Haskell)、DragonEgg(Ada、Fortran、...)、许多商业OpenCL编译器、RenderScript等。LLVM开源社区聚集了众多在LLVM上工作或与LLVM合作的研发人员,在领域内颇具影响力。本次活动是后疫情时期,加拿大多伦多地区首次举行的LLVM/Clang开源社区线下见面活动,欢迎每个对LLVM、Clang、lldb、Polly、Swift、Rust感兴趣的开发者参与讨论。华为多伦多异构编译器实验室资深编译器研究员Amy Wang将就“使用MLIR for AI加速器优化SYCL程序”专题进行演讲,展开讨论,碰撞灵感火花。活动时间东部夏令时间:2022年8月17日 18:00-20:00北京时间:2022年8月18日 06:00-08:00活动地点Room 1, Toronto Public Library – North York Central Library5120 Yonge St, North York, ON, Canada演讲内容主题:Optimizing for SYCL Programs with MLIR for AI Accelerators简介:There is a growing need for higher level abstractions for device kernels in heterogeneous environments, and the multi-level nature of the MLIR infrastructure perfectly addresses this requirement.  As SYCL begins to gain industry adoption for heterogeneous applications and MLIR continues to mature, this talk focuses on the effort in targeting SYCL's device code generation for Huawei's AI accelerator.  It also covers numerous interesting aspects ranging from runtime support, to SYCLops, an LLVM-to-MLIR converter, to optimizations performed in MLIR.演讲嘉宾Amy Wang is a senior compiler researcher working for Huawei's Heterogeneous Compilers Lab in Markham.  Her past research areas include auto-SIMDization, transactional memory and the Java language runtime. Recently, she spends most of her effort in SYCL device code generation targeting Huawei's AI accelerator, a.k.a. the DaVinci chip, using MLIR.  She had previously worked in IBM's XL compiler team prior to joining Huawei.参加方式线下活动注册:cid:link_0活动将全程录像并上传至YouTube及B站Compiler SIG介绍Compiler SIG 专注于编译器领域技术交流探讨和分享,包括 GCC/LLVM/OpenJDK 以及其他的程序优化技术,聚集编译技术领域的学者、专家、学术等同行,共同推进编译相关技术的发展。扫码添加 SIG 小助手微信,邀请你进 Compiler SIG 微信交流群。原文转载自 毕昇编译-活动预告 | LLVM Clang开源社区线下见面会--加拿大多伦多地区
  • [版主精选] 【华为云四大产品重磅开源】今天,我们开源啦!
    海量数据的聚合分析如何满足业务要求?如何快速构建跨云、跨边、跨集群的云原生应用?如何快速构建兼容多种推理框架的高性能AI应用?2022年6月16日在华为伙伴暨开发者大会上,华为云公布四大重磅开源项目, 旨在帮助开发者解决上述问题。openGemini:openGeminiKurator:kurator-dev · GitHubKappital:Kappital · GitHubModelBox:ModelBox | ModelBox是一套统一的端边云AI应用开发和运行框架的规范,以及在此规范上所实现的运行时框架。...#华为伙伴暨开发者大会2022# #华为云#
总条数:113 到第
上滑加载中