原文地址:https://tvm.ai/2018/01/16/opt-mali-gpu.html

       随着深度学习的巨大成功,对移动设备部署深度神经网络的需求正在迅速增长。与我们在桌面平台上的工作类似,在移动设备中使用GPU可以同时提高推理速度和能效。但是,大多数现有的深度学习框架都不能很好地支持移动GPU。难点在于移动GPU架构和桌面GPU架构之间的差异。这意味着在移动GPU上进行优化需要花费更多精力。导致移动GPU在大多数深度学习框架中的支持不友好。

      TVM通过引入统一的IR堆栈解决了部署不同硬件的难度,通过该堆栈可以轻松完成对不同硬件的优化。在这篇文章中,我们将展示如何使用 TVM / NNVM为ARM Mali GPU生成高效的内核并进行端到端编译。在我们对Mali-T860 MP4的测试中,与Arm Compute Library相比 ,我们的方法在VGG-16上快了1.4倍,在MobileNet上快了2.2倍。图形级和操作级优化都有助于提高速度。

Mali Midgrad GPU

我们将使用Firefly-RK3399和Mali-T860 MP4作为我们的测试环境,因此我们主要关注下面的Mali T8xx。

架构

图1是T860和T880上Mali Architecture的概述。GPU可扩展至16个相干着色器核心。在每个着色器核心内部,有2或3个算术管道,1个加载/存储管道和1个纹理管道(所谓的TriPipe)。每个算术流水线中的ALU具有四个128位向量单元和一个标量单元。

我们使用OpenCL进行GPU计算。映射到OpenCL模型时,每个着色器核心都会执行一个或多个工作组。每个着色器核心最多支持384个并发执行的线程。OpenCL中的每个工作项通常映射到Mali GPU上的单个线程。Mali GPU使用VLIW(超长指令字)架构。每个指令字包含多个操作。Mali GPU也使用SIMD,因此大多数算术指令同时对多个数据元素进行操作。

与NVIDIA的GPU不同

与为NVIDIA的GPU编写代码相比,在为Mali GPU编写OpenCL代码时,我们应该关注一些差异。

  • Mali GPU使用统一的全局内存。在NVIDIA的GPU中,我们通常将数据复制到共享内存,因为NVIDIA的GPU具有物理上独立的全局内存,共享内存和寄存器。在马里,此副本不会提高性能,可以删除。此外,Mali GPU通常与CPU共享全局内存,因此不需要在CPU和GPU之间进行复制。
  • Mali Midgrad GPU基于SIMD(单指令多数据)并需要显式矢量化。在NVIDIA CUDA中,并行性是通过SIMT(单指令多线程)实现的,不需要显式矢量化。但另请注意,较新的Mali Bitfrost GPU基于四元矢量化,不需要显式矢量化。
  • Mali GPU中的所有线程都有单独的程序计数器。它意味着warp size是1,因此分支差异不是主要问题。

优化:卷积为例

卷积层是大多数深度神经网络的核心,占用了大部分的计算时间。因此,我们以卷积层为例,演示如何在TVM中应用包装,平铺,展开和矢量化等常用优化技术。

Im2Col与GEMM

众所周知的卷积层算法是im2col,它将小的3D输入立方体转换为矩阵的列并执行GEMM。该方法的优点是易于利用高度优化的BLAS库。但是,内存冗余(3x3内核的9倍内存)非常糟糕。

空间包装

相反,我们采用一种方法来计算卷积,并逐步应用优化技术。VGG-16中的卷积层用作调谐情况,其配置如下所示。我们假设批量大小为1用于推断。

input shapeoutput shapekernel sizestridepad
56x56x25656x56x2563×3(1,1)(1,1)

作为baseline,我们还在Arm Compute Library中列出了该层的性能。

kernelcost(second)GFLOPS
ARM Compute Lib中的GEMM方法0.182120.3111

声明计算:平铺和打包(tiling and packing)

平铺和打包是两种旨在更好地访问内存的方法。平铺将整个计算分成小块以获得更好的数据使用。打包根据平铺重新排列输入矩阵,以便我们可以顺序访问内存,从而降低缓存未命中率。

我们对输入图像的宽度尺寸和滤波器矩阵的CO尺寸进行平铺。这是由tvm.compute描述。

# set tiling factor
VH = 1
VW = VC = 4# get input shape_, CI, IH, IW = data.shape
CO, CI, KH, KW = kernel.shape
TH = IH + 2 * H_PAD
TW = IW + 2 * W_PAD# calc output shape
OH = (IH + 2*H_PAD - KH) // H_STR + 1
OW = (IW + 2*W_PAD - KW) // W_STR + 1# data shape after packing
dvshape = (N, TH // (VH*H_STRIDE), TW // (VW*W_STRIDE), CI, VH*H_STRIDE+HCAT, VW*W_STRIDE+WCAT)# kernel shape after packing
kvshape = (CO // VC, CI, KH, KW, VC)ovshape = (N, CO // VC, OH // VH, OW // VW, VH, VW, VC)
oshape = (N, CO, OH, OW)# define packing
data_vec = tvm.compute(dvshape, lambda n, h, w, ci, vh, vw:data_pad[n][ci][h*VH*H_STRIDE+vh][w*VW*W_STRIDE+vw], name='data_vec')kernel_vec = tvm.compute(kvshape, lambda co, ci, kh, kw, vc:kernel[co*VC+vc][ci][kh][kw], name='kernel_vec')# define convolution
ci = tvm.reduce_axis((0, CI), name='ci')
kh = tvm.reduce_axis((0, KH), name='kh')
kw = tvm.reduce_axis((0, KW), name='kw')conv = tvm.compute(ovshape, lambda n, co, h, w, vh, vw, vc:tvm.sum(data_vec[n, h, w, ci, vh*H_STRIDE+kh, vw*W_STRIDE+kw].astype(out_dtype) *kernel_vec[co, ci, kh, kw, vc].astype(out_dtype),axis=[ci, kh, kw]), name='conv')# unpack to correct layout
output = tvm.compute(oshape, lambda n, co, h, w:conv[n][co//VC][h/VH][w//VW][h%VH][w%VW][co%VC],name='output_unpack', tag='direct_conv_output')

我们可以检查定义的IR

print(tvm.lower(s, [data, kernel, output], simple_mode=True))

我在这里选择卷积部分。

produce conv {for (co, 0, 64) {for (h, 0, 56) {for (w, 0, 14) {for (vw.init, 0, 4) {for (vc.init, 0, 4) {conv[((((((((co*56) + h)*14) + w)*4) + vw.init)*4) + vc.init)] = 0.000000f}}for (ci, 0, 256) {for (kh, 0, 3) {for (kw, 0, 3) {for (vw, 0, 4) {for (vc, 0, 4) {conv[((((((((co*56) + h)*14) + w)*4) + vw)*4) + vc)] = (conv[((((((((co*56) + h)*14) + w)*4) + vw)*4) + vc)] + (data_vec[(((((((((h*14) + w)*256) + ci)*3) + kh)*6) + kw) + vw)]*kernel_vec[((((((((co*256) + ci)*3) + kh)*3) + kw)*4) + vc)]))}}}}}}}}
}

内核1:绑定线程

在TVM中,我们首先声明计算然后安排它。该机制将算法和实现细节分离。(这个想法来自Halide)。

以下计划简单地将轴绑定到GPU线程,以便我们的代码可以在Mali GPU上运行。

# helper function for binding thread
def tile_and_bind3d(s, tensor, z, y, x, z_factor=2, y_factor=None, x_factor=None):""" tile and bind 3d """y_factor = y_factor or z_factorx_factor = x_factor or y_factorzo, zi = s[tensor].split(z, z_factor)yo, yi = s[tensor].split(y, y_factor)xo, xi = s[tensor].split(x, x_factor)s[tensor].bind(zo, tvm.thread_axis("blockIdx.z"))s[tensor].bind(zi, tvm.thread_axis("threadIdx.z"))s[tensor].bind(yo, tvm.thread_axis("blockIdx.y"))s[tensor].bind(yi, tvm.thread_axis("threadIdx.y"))s[tensor].bind(xo, tvm.thread_axis("blockIdx.x"))s[tensor].bind(xi, tvm.thread_axis("threadIdx.x"))# set tunable parameter
num_thread = 8# schedule data packing
_, h, w, ci, vh, vw = s[data_vec].op.axis
tile_and_bind3d(s, data_vec, h, w, ci, 1)# schedule kernel packing
co, ci, kh, kw, vc = s[kernel_vec].op.axis
tile_and_bind(s, kernel_vec, co, ci, 1)# schedule conv
_, c, h, w, vh, vw, vc = s[conv].op.axis
kc, kh, kw = s[conv].op.reduce_axiss[conv].reorder(_, c, h, w, vh, kc, kh, kw, vw, vc)
tile_and_bind3d(s, conv, c, h, w, num_thread, 1, 1)_, co, oh, ow = s[output].op.axis
tile_and_bind3d(s, output, co, oh, ow, num_thread, 1, 1)

使用这个计划,我们的代码现在可以运行,但性能很糟糕。

核心成本(秒)GFLOPS加速
ARMComputeLib中的GEMM方法0.182120.31111X
内核1:简单绑定5.61540.65880.03X

内核2:展开

循环展开可以减少循环控制的指令,减少分支惩罚并隐藏读取内存中的延迟。在TVM中,这可以通过呼叫轻松完成s.unroll(axis)

# set tunable parameter
num_thread = 8# schedule data packing
_, h, w, ci, vh, vw = s[data_vec].op.axis
tile_and_bind3d(s, data_vec, h, w, ci, 1)"""!! ADD UNROLL HERE !!"""
s[data_vec].unroll(vw)# schedule kernel packing
co, ci, kh, kw, vc = s[kernel_vec].op.axis
tile_and_bind(s, kernel_vec, co, ci, 1)"""!! ADD UNROLL HERE !!"""
s[kernel_vec].unroll(kh)
s[kernel_vec].unroll(kw)
s[kernel_vec].unroll(vc)# schedule conv
_, c, h, w, vh, vw, vc = s[conv].op.axis
kc, kh, kw = s[conv].op.reduce_axiss[conv].reorder(_, c, h, w, vh, kc, kh, kw, vw, vc)
tile_and_bind3d(s, conv, c, h, w, num_thread, 1, 1)"""!! ADD UNROLL HERE !!"""
s[conv].unroll(kh)
s[conv].unroll(kw)
s[conv].unroll(vw)
s[conv].unroll(vc)_, co, oh, ow = s[output].op.axis
tile_and_bind3d(s, output, co, oh, ow, num_thread, 1, 1)
核心成本(秒)GFLOPS加速
ARMComputeLib中的GEMM方法0.182120.31111X
内核1:简单绑定5.61540.65880.03X
内核2:+展开0.37079.97960.49x

Kernel3:矢量化

如前所述,我们需要明确地进行矢量化,以便在Mali GPU上实现最佳性能。

# set tunable parameter
num_thread = 8# schedule data packing
_, h, w, ci, vh, vw = s[data_vec].op.axis
tile_and_bind3d(s, data_vec, h, w, ci, 1)# unroll
s[data_vec].unroll(vw)# schedule kernel packing
co, ci, kh, kw, vc = s[kernel_vec].op.axis
tile_and_bind(s, kernel_vec, co, ci, 1)# unroll
s[kernel_vec].unroll(kh)
s[kernel_vec].unroll(kw)
"""!! VECTORIZE HERE !!"""
s[kernel_vec].vectorize(vc)# schedule conv
_, c, h, w, vh, vw, vc = s[conv].op.axis
kc, kh, kw = s[conv].op.reduce_axiss[conv].reorder(_, c, h, w, vh, kc, kh, kw, vw, vc)
tile_and_bind3d(s, conv, c, h, w, num_thread, 1, 1)# unroll
s[conv].unroll(kh)
s[conv].unroll(kw)
s[conv].unroll(vw)
"""!! VECTORIZE HERE !!"""
s[conv].vectorize(vc)_, co, oh, ow = s[output].op.axis
tile_and_bind3d(s, output, co, oh, ow, num_thread, 1, 1)
核心成本(秒)GFLOPS加速
ARMComputeLib中的GEMM方法0.182120.31111X
内核1:简单绑定5.61540.65880.03X
内核2:+展开0.37079.97960.49x
内核3:+矢量化0.130428.36791.40x

如何设置可调参数

至于上面的可调参数,可以计算一些。对于矢量化维度VC,我们应该填充128位寄存器,因此对于float32可以设置为128/32 = 4,对于float16,可以设置为128/16 = 8。

但由于运行时间复杂,我们更常无法确定最佳值。我们在TVM中使用网格搜索。由于我们在TVM的高级IR而不是直接的OpenCL代码中编写python代码,因此它可以非常有效。

生成的OpenCL代码

我们可以通过查看生成的OpenCL代码

print(func.imported_modules[0].get_source())

OpenCL代码太长而无法在此处粘贴,并且由于大量展开而难以阅读。如果有兴趣,可以 在这里查看。

端到端基准测试

在本节中,我们比较了一些流行的深度神经网络上不同后端之间的综合性能。我们的测试环境是

Firefly-RK3399 4G
CPU: dual-core Cortex-A72 + quad-core Cortex-A53
GPU: Mali-T860MP4Arm Compute Library : v17.12
MXNet: v1.0.1
Openblas: v0.2.18

我们使用NNVM和TVM进行端到端编译。

性能

图片

图2. ImageNet上不同后端的推理速度

 

如图2所示,我们测试了ImageNet上的推理速度。在Firefly-RK3399上,Mali GPU比6核big.LITTLE CPU快2倍~4倍。我们的端到端管道比Arm Compute Library快1.4倍~2.2倍。我们在Arm Compute Library中尝试了GEMM和卷积层的直接方法,在这些测试用例中GEMM方法总是比直接方法快,所以我们只绘制GEMM方法的结果。

一些结果,如Arm Compute Library上的resnet18,在图2中缺失。这是因为Arm Compute Library的图形运行时当前不支持跳过连接,并且深度卷积的霓虹灯实现很差。这也反映了NNVM软件堆栈的优势。

半精度性能

深度神经网络的精度不是很重要,特别是对于移动设备的推断。使用低精度算法可以使推理更快。我们还测试了Mali GPU上的半精度浮点数。

模型后端每张图像的时间成本(秒)加速到FP32
vgg16ACM-马里0.96941.69
vgg16TVM-马里0.68961.87x
MobileNet 1.0TVM-马里0.04791.60x
ResNet18TVM-马里0.11831.73x

表1. ImageNet上FP16的推理速度

 

从理论上讲,FP16可以使峰值计算加倍,并使内存消耗减半,从而使速度加倍。但它需要良好的输入形状,以实现更长的矢量化和微调某些参数。

 

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. ubuntu下格式化被写保护的U盘

    问题: 不知道做了什么操作导致我的U盘中的文件数据被写保护了,无法修改和删除其中的文件。 在windows系统下没找到直接的格式化被写保护的u盘的方法,要下载专门的格式化工具,但太多软件绑定了而且不一定有效。所以直接在ubuntu系统下用了两句命令搞定了: 先插入u盘,看u盘…...

    2024/3/14 17:10:13
  2. C# 格式化输出XML

    很多时候有一个xml字符串,没有换行,没有缩进,要生成xml文件不易阅读。下面的代码就是怎么将一个连续的xml字符串格式化输出// a demo stringstring xml = "<Root><Eles><Ele>abc</Ele><Ele>123</Ele></Eles></Root>&q…...

    2024/3/14 17:10:11
  3. 利用css样式表,动态生成箭头样式

    利用css样式表,动态生成箭头样式最近公司新上一个项目,Vue架构。碰到一个小问题,虽然小,但是最后的解决方法却很妙。如图所示: 图中阶段为后台动态获得,获取每一个阶段后,需要添加箭头,由于阶段框为动态获取,所以箭头需要动态添加。此时采用css样式表单完成上述动态添…...

    2024/3/14 17:10:09
  4. arm工作状态-arm状态和thumb状态

    原文作者:又一个暑假 原文地址:http://www.cnblogs.com/yygsj/p/5428500.html 版权声明:转载只为交流学习,版权属于原作者在ARM的体系结构中,可以工作在三种不同的状态,一是ARM状态,二是Thumb状态及Thumb-2状态,三是调试状态。《嵌入式系统开发与应用教程(第2版)》上…...

    2024/3/14 17:10:08
  5. 百度地图API图标、文本、图例与连线

    百度地图开放平台功能强大,使用简单,为地图的自定义提供了非常方便的途径!本文以绘制一张全国机器辐射图为例记录其基本使用方法,效果如下图:图中包括了带图标和文本的标注,连线以及图标。1.关于坐标说到地图,不得不说坐标。我以为,GPS获取经纬度之后,把经纬度丢给地图…...

    2024/3/14 17:10:07
  6. ADD,COPY,ENTRYPOINT和cmd

    Dockerfile中有关信息:ADD与COPY区别add:1、对压缩包进行解压2、可以在后面直接跟文件地址copy:把本地的文件copy到容器里面ENTRYPOINT与CMD区别1、第一种解释(借鉴别人):CMD指定的命令可以被docker run传递的命令覆盖,例如,如果用CMD指定:CMD ["echo"]然后运…...

    2024/3/14 17:10:08
  7. linux下代码格式化工具:indent

    linux下代码格式化工具:indentubuntu 下:$ sudo apt-get install indent 常用的设置: indent -npro -kr -i4 -ts4 -sob -l80 -ss -bl -bli 0 文件名 参数说明: -npro或--ignore-profile  不要读取indent的配置文件.indent.pro。 -kr  指定使用Kernighan&Ritchie的格式…...

    2024/3/14 17:10:05
  8. [CSS3]:定义CSS样式、CSS优先级机制

    网页结构合理化在引入怎样定义CSS样式之前,先了解为什么要去定义CSS样式。记得刚开始学习HTML网页时,对一段字体设置字体颜色、对表格某一行设置背景颜色或者让其中内容靠左对齐时,都直接用标签本身属性去实现,如下:[html] viewplain copyprint?<!-- 用属性来设置字体…...

    2024/3/14 17:10:06
  9. ARM 体系架构及其工作原理

    架构的演变历史我们首先介绍 ARM Ltd,这里先说的是公司而不是架构。ARM 的发展历史非常久远,超乎许多人的想象。首先,我们提供一些背景信息,ARM 成立于20世纪90年代末,从另一家位于剑桥的公司分拆而来,那家公司叫做 Acorn Computers,曾经是英国教育市场的著名个人台式计…...

    2024/3/14 17:10:04
  10. Docker CMD和ENTRYPOINT指令区别

    CMD用于容器启动后默认执行的命令,支持三种格式,多条CMD仅最后一条生效。 Exec 格式:CMD ["executable","param1","param2"](推荐格式) CMD ["param1","param2"] 为 ENTRYPOINT 提供额外的参数,此时 ENTRYPOINT 必须使…...

    2024/3/14 17:10:02
  11. echart中国地图跟省地图整合

    <html><head>//中国地图跟省市地图的整合 //这里js需要去echarts官网下载,把所有的省份js全部引用一下。 //这里只写两个hebei 和 shanxi的引用<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><script src=&q…...

    2024/3/14 17:10:02
  12. Linux mkfs --格式化磁盘

    mkfs 命令 linux格式化磁盘命令linux mkfs指令:mkfs 使用权限 : 超级使用者 使用方式 : mkfs [-V] [-tfstype] [fs-options] filesys[blocks] [-L Lable] 说明 : 建立 linux档案系统在特定的 partition 上 参数 : device : 预备检查的硬盘partition,例如:/dev/sda1 -V : …...

    2024/3/28 13:14:26
  13. 在css表格中实现隔行换色效果

    在CSS表格中实现隔行换色效果表格背景可以用颜色或图片,这样可以可以使表格看起来不那么单一,我们可以让其每一行的颜色发生改变,使用nth-of-type(odd)和nth-of-type(even)会有两种不同的效果。odd :匹配所有索引值为奇数的元素,从 0 开始计数.查找表格的2、4、6行(即索…...

    2024/3/13 22:14:20
  14. 朱老师ARM裸机学习笔记(六):ARM汇编

    汇编指令和伪汇编指令汇编指令:CPU指令的助记符 伪汇编指令:本质上不是指令,是编译器环境提供的,目的是用来指导编译过程,经过编译后伪指令最终不会生成机器码ARM汇编的特点ARM汇编的特点1:LDR/STR架构ARM采用RISC架构,CPU本身不能直接读取内存(CISC结构的可以直接读取…...

    2024/3/13 22:14:18
  15. java格式化xml字符串

    上篇博客是利用前台js来格式化xml字符串,那么这篇博客则通过后台java来格式化输出xml字符串。public String formatXML(String inputXML) throws Exception {SAXReader reader = new SAXReader();Document document = reader.read(new StringReader(inputXML));String request…...

    2024/3/13 22:14:17
  16. Linux新增磁盘、分区、格式化和自动挂载

    原文链接:http://blog.csdn.net/xyang81/article/details/51745683 系统环境:CentOS7 64位 mini版 场景:在虚拟机中添加一块40G的SCSI硬盘,分成一个扩展分区,格式化为ext3文件格式,挂载到/opt目录上1、查看磁盘信息lsblk上图中红圈部份sdb就是新添加的磁盘,从/dev/目录…...

    2024/3/14 17:10:02
  17. ARM7与ARM9的区别于联系

    本文是写给准备学习ARM技术,而又没想好要学ARM7还是ARM9或者对ARM7与ARM9的区别不是很了解的初学者。希望本文对你们有点用处。 由于职业的关系,经常会回答一些ARM初学者的问题,虽然问题千奇百怪,但以下两个问题绝对很有代表性。ARM7和ARM9的都有些什么区别?我准备学AR…...

    2024/3/14 17:09:59
  18. CSS3炫酷表格

    CSS3制作的漂亮Table演示地址:http://www.pengyaou.com/LegendsZ/Images/FileImage/cssTable.html 原文出处:http://www.pengyaou.com/LegendsZ/File/2014/08/14/20140814224936404.html...

    2024/3/14 17:09:58
  19. java xml格式化输出

    转载自:http://blog.csdn.net/mengxiangbaidu/article/details/7599552import java.io.IOException; import java.io.StringWriter;import org.dom4j.Document; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter;public class DebugUtil {public static Stri…...

    2024/3/17 10:59:27
  20. docker学习笔记12:Dockerfile 指令 ENTRYPOINT介绍

    本文介绍Dockerfile的 ENTRYPOINT指令的含义。 先回顾下CMD指令的含义,CMD指令可以指定容器启动时要执行的命令,但它可以被docker run命令的参数覆盖掉。 ENTRYPOINT 指令和CMD类似,它也可用户指定容器启动时要执行的命令,但如果dockerfile中也有CMD指令,CMD中的参数会被附…...

    2024/3/14 17:09:58

最新文章

  1. TheMoon 恶意软件短时间感染 6,000 台华硕路由器以获取代理服务

    文章目录 针对华硕路由器Faceless代理服务预防措施 一种名为"TheMoon"的新变种恶意软件僵尸网络已经被发现正在侵入全球88个国家数千台过时的小型办公室与家庭办公室(SOHO)路由器以及物联网设备。 "TheMoon"与“Faceless”代理服务有关联&#xff0c;该服务…...

    2024/3/29 6:35:31
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 包子凑数(蓝桥杯,闫氏DP分析法)

    题目描述&#xff1a; 小明几乎每天早晨都会在一家包子铺吃早餐。 他发现这家包子铺有 N 种蒸笼&#xff0c;其中第 i 种蒸笼恰好能放 Ai 个包子。 每种蒸笼都有非常多笼&#xff0c;可以认为是无限笼。 每当有顾客想买 X 个包子&#xff0c;卖包子的大叔就会迅速选出若干笼…...

    2024/3/29 3:00:18
  4. 微调GPT3.5模型实例

    一&#xff1a;什么是微调&#xff08;Fine-tuning&#xff09; 微调&#xff08;Fine-tuning&#xff09;是一种在深度学习中常见的策略&#xff0c;特别适用于自然语言处理&#xff08;NLP&#xff09;、图像识别和其他机器学习任务&#xff0c;其中训练数据可能有限。这种方…...

    2024/3/28 23:15:44
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/3/27 10:21:24
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/3/24 20:11:25
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/3/29 2:45:46
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/3/24 20:11:23
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/3/29 5:19:52
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/3/28 17:01:12
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/3/24 5:55:47
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/3/29 1:13:26
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/3/26 23:04:51
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/3/26 11:20:25
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/3/24 20:11:18
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/3/28 9:10:53
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/3/29 0:49:46
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/3/24 20:11:15
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/3/27 7:12:50
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/3/24 20:11:13
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/3/26 11:21:23
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/3/28 18:26:34
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/3/28 12:42:28
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/3/28 20:09:10
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57