新识
本文最后更新于40 天前,其中的信息可能已经过时,如有错误请发送邮件到zhangweihao22@outlook.com

BY ziyang

脚本的运行权限的查看与设置

脚本运行之前需要查看脚本是否拥有运行的权限

  1. 在终端中输入命令
    ~ ls -l run.sh ~
    其中run.sh替换为你要查看的目标脚本
  2. 查看脚本权限
    我这里显示的是
    -rw-r--r-- 1 root root 81 Oct 28 11:14 format.sh
    这将显示类似-rwxr-xr-x的权限设置,其中r代表读权限,w代表写权限,x代表执行权限。
  3. 修改脚本权限
    输入命令
    ~ (tecoal_gpu) root@c8bef3602592:/# chmod +x format.sh ~
  4. 再次查看脚本权限
    ~ ls -l run.sh ~
  5. 查看脚本权限
    ~ -rwxr-xr-x 1 root root 81 Oct 28 11:14 format.sh//正确 ~

附:

Q:如何改变一个脚本的权限使其可执行?

要改变一个脚本的权限使其可执行,你可以使用chmod命令。以下是具体的步骤:

  1. 打开终端
    打开你的终端或命令行界面。
  2. 导航到脚本所在目录
    使用cd命令导航到包含format.sh脚本的目录。例如,如果脚本位于上一级目录,你可以使用:
   cd ..
  1. 查看当前权限
    使用ls -l命令查看format.sh的当前权限:
   ls -l format.sh

这将显示类似-rwxr-xr-x的权限设置,其中r代表读权限,w代表写权限,x代表执行权限。

  1. 更改权限
    使用chmod命令添加执行权限。要使所有用户都能执行该脚本,可以使用:
   chmod +x format.sh

这会在当前权限的基础上添加执行权限。

  1. 验证权限更改
    再次使用ls -l命令检查权限是否已更改:
   ls -l format.sh

你应该看到类似-rwxr-xr-x的输出,表明现在所有用户都有执行权限。

  1. 运行脚本
    现在你可以尝试再次运行脚本:
   ./format.sh

或者如果你在子目录中,使用相对路径:

   ../format.sh

这些步骤将确保你的脚本具有执行权限,从而可以被正确执行。如果你在远程服务器或特定环境中工作,确保你有足够的权限来更改文件权限。

Q:这几行命令是什么意思?

(tecoal_gpu) root@c8bef3602592:/# ls -l format.sh
-rw-r--r-- 1 root root 81 Oct 28 11:14 format.sh
(tecoal_gpu) root@c8bef3602592:/# chmod +x format.sh
(tecoal_gpu) root@c8bef3602592:/# ls -l format.sh
-rwxr-xr-x 1 root root 81 Oct 28 11:14 format.sh

这几行命令展示了如何在Linux终端中检查文件权限,并更改文件的权限以使其可执行。下面是对每一行命令的解释:

  1. (tecoal_gpu) root@c8bef3602592:/# ls -l format.sh
  • 这是在Linux终端中执行的命令,用于列出当前目录下名为format.sh的文件的详细信息。ls -l命令以长格式列出文件,显示文件的权限、所有者、大小、最后修改时间等信息。
  • 输出显示format.sh文件的权限是-rw-r--r--,这意味着:
    • 文件所有者(这里是root)可以读和写这个文件。
    • 与文件所有者同组的用户可以读这个文件。
    • 其他用户也可以读这个文件。
    • 文件没有执行权限。
  1. (tecoal_gpu) root@c8bef3602592:/# chmod +x format.sh
  • 这是改变format.sh文件权限的命令,使其成为可执行文件。chmod是改变文件模式(权限)的命令,+x参数表示给文件添加执行权限。
  • 这个命令对所有用户(所有者、所属组和其他用户)都添加了执行权限。
  1. (tecoal_gpu) root@c8bef3602592:/# ls -l format.sh
  • 这是再次执行ls -l命令来查看format.sh文件的权限变化。
  • 输出显示format.sh文件的权限现在是-rwxr-xr-x,这意味着:
    • 文件所有者(这里是root)可以读、写和执行这个文件。
    • 与文件所有者同组的用户可以读和执行这个文件。
    • 其他用户也可以读和执行这个文件。

总结来说,这些命令展示了如何查看文件权限,如何给文件添加执行权限,以及如何验证权限更改是否成功。

google代码规范

注释的规范

注释符前必须要打两个空格,注释符后必须打一个空格

  // 服了,好复杂的代码规范

整体代码结束规范

在代码结束后需要添加一个回车

#include<stdio.h>
int main()
{
    printf("好复杂的代码规范");
    return 0;
}
  // 下面是结束回车,注意,结束空行中不能又空格,否则又会报错

一个模板声明

template <typename TYPE>

在 C++ 中,template <typename TYPE> 是一个模板声明,它允许函数或类在编译时接收不同的数据类型作为参数。模板使代码更具通用性,可以处理多种数据类型,而无需为每种类型编写独立的函数或类。

解释

template <typename TYPE> 的含义如下:

  • template 是 C++ 中定义模板的关键字。
  • <typename TYPE> 指定模板参数为 TYPE,其中 TYPE 是一个通用类型名。我们可以用 TYPE 来替代具体的数据类型,比如 intfloat_Float16 等。

使用场景

模板通常用于创建能够处理多种数据类型的函数或类。在卷积实现代码中,通过模板参数 TYPE,可以编写一个泛型卷积前向传播函数 tecoKernelConvFwdFT16SingleThreadImpl,然后根据实际情况调用该函数时指定不同的数据类型。例如:

template <typename TYPE>
__device__ void tecoKernelConvFwdFT16SingleThreadImpl(ConvFwdArgs arg) {
    // 使用 TYPE 作为通用数据类型
    TYPE *input; // 可以是 float、_Float16、int 等不同类型
    // 其他实现代码
}

这样,tecoKernelConvFwdFT16SingleThreadImpl<_Float16> 会以 _Float16 类型实例化模板,使得代码能够灵活适应不同的浮点类型。

比赛经验

循环展开要在比赛最后几天去试,而且循环展开还要注意外层还是内层

simd_load 有数据对齐的问题!!!

2024/10/28 创建
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
Copyright 2025-2025 @ Ziyang
Running Time days H M S