首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏linux驱动个人学习

    android功耗优化(2)--对齐唤醒

    listPkgs:表示需要设置对齐唤醒的应用,如果这些应用已经安装,就会显示在对齐唤醒设置的界面上。 showPkgs:表示要显示在对齐唤醒设置界面的数组应用列表,在数据初始化之前先将该数组清空。对齐唤醒方案优化之前,该数组保存的是listPkgs列表与已安装应用的交集。 优化之后,同时还保存了已安装的第三方应用。 (1)、第三方应用全部添加到对齐唤醒名单; (2)、禁止系统应用验证前添加到对齐唤醒名单,避免导致系统异常。 系统核心应用不允许加入对齐唤醒名单,即位于system/priv-app目录下的应用不可以加入对齐唤醒名单;

    1.4K10发布于 2020-09-08
  • 来自专栏GLM 技术文章

    BPO:灵活的 Prompt 对齐优化技术

    一种方案是,人向模型对齐。于是有了 「Prompt工程师」这一岗位,专门撰写适配 LLM 的 Prompt,从而让模型能够更好地生成内容。而另一种更为有效的方案则是,让模型向人对齐。 这也是大模型研究中非常重要的问题,无论是 GPT 还是 Claude,在对齐技术上花费大量的时间与精力。但,随着模型规模变大,基于训练的对齐技术也需要耗费更大量的资源。 因此,我们提出另外的一种方案,即黑盒提示对齐优化技术(Black-box Prompt Optimization),通过优化用户指令,从输入角度对模型进行对齐。 下面是我们做的一个简单评估:在 VicunaEval 上使用 GPT-4 进行自动评估,BPO 能够大幅提升 ChatGPT、Claude 等模型的人类偏好,并助力 llama2-13b 模型大幅超过 BPO对齐技术对 GPT-3.5-turbo 有22%的提升,对 GPT-4 有 10% 的提升。

    66910编辑于 2023-12-22
  • 来自专栏云计算技术笔记

    为什么要4k对齐

    在发现存储实际性能和预期存在较大差距,特别是性能差距在2倍左右时,4K对齐就可能是罪魁祸首。现在SSD读写速度较快,所以通常都是在压力较大的时候出现异常。 如何查看系统是否4k对齐: Windows下 开始-运行-“msinfo32”-进入系统信息 展开 组建-存储-磁盘,查看里面的分区起始偏移。 如果起始偏移正好是4k(4096字节)的倍数,说明4k对齐。 图片 Linux下 使用fdisk -lu命令。命令中u是让分区表用扇区值。 所以,如果起始扇区值是8的倍数,则说明磁盘4k对齐。 其它地方的4K对齐 上面说的都是本地系统的4k对齐,因为本地盘的物理sector肯定是从0开始,但还有一种情况。 如果,分布式存储本身并没有做好4K对齐,那块块设备外挂到虚拟机上后,最终的IO依然不会对齐,即使虚拟机上看一切正常。这种情况,就需要云服务商来处理了。

    2.1K10编辑于 2022-09-07
  • 来自专栏音视频技术

    手机K歌的人声伴奏对齐优化实践

    4、安卓手机的优化处理 上图为安卓手机处理声音的示意图,我们从Speaker输入声音,依次经过ADC,总线Bus,Driver,Audio Recorder,应用程序,再转回来整个一圈的处理时间,就是之前提到的 上图展示是我们所做的一种通用的耳返延迟优化方案,将之前上层的audio record和audio Track改成用Open SL来处理。 在安卓上面可以用一些NEON指令做运算优化,在iOS上面会用DSP做计算的优化。 5、混音对齐要义 混音对齐延迟再细分成4个场景,录放的首帧延迟,演唱中断偏移,效果去处理延迟和歌手演唱误差。 ,到最后一帧还是对齐的。 还有一些效果器,可能是不稳定的偏移,只能从算法上做优化,比如说刚才我讲的实时反馈的延迟量,也是可以通过这种方式来解决的,我们在湿声和干声上进行单独的处理。

    2.3K30发布于 2021-09-01
  • 来自专栏根究FPGA

    AXI总线的4K地址对齐问题

    从上图可以看到:总的地址分配空间为4G(2^32个地址空间,每个地址对应8bit的映射空间)。 最后说明在对从设备进行地址分配时,每个从设备的地址最小对齐边界为4K,即地址的低12位全为0,这样表示地址范围大小为2^12=4K,4K对齐最大原因是系统中定义一个page大小是4K。 所以,为了更好的设定每个slave的访问attribue,就给一个slave划分4K空间: ? AXI 协议支持地址非对齐的传输,允许突发传输的首字节地址,即起始地址与突发传输位宽不对齐。 举个例子,总线位宽为 32bit 时,如果起始地址为 0x1002 ,则产生了非对齐现象。与 32bit 位宽总线对齐的地址需要能被 4 整除,即 ADDR[1:0] = 2'b0。 对于非对齐写传输,主机会进行两项操作: (1)、即使起始地址非对齐,也保证所有传输是对齐的 (2)、在首个 transfer 中增加填充数据,将首次传输填充至对齐,填充数据使用WSTRB 信号标记为无效

    5.4K61发布于 2020-07-28
  • 来自专栏CSDN博客专家-小蓝枣的博客

    PyQt5 技术篇-设置alignment对齐方式。Qt Designer设置文本对齐方式。居中、左对齐、右对齐、上对齐、下对齐

    通过alignment设置,展开后可以设置水平方向或垂直方向的对齐方式。 PyQt5设置文本对齐方法: self.label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignVCenter) 两个参数一个是横向靠右,一个是纵向居中 Qt Designer设置文本对齐方法: 如图,水平默认的左对齐我改为了右对齐。 ?

    10.8K30发布于 2020-09-23
  • 来自专栏韩曙亮的移动开发专栏

    【CSS】vertical-align 垂直对齐 ( 块级元素对齐 | 行内元素 行内块元素对齐 | 基线对齐 | 垂直居中 | 顶部对齐 | 底部对齐 )

    可以设置四种对齐 : baseline 基线 / top 顶线 / middle 中线 / bottom 底线 ; 基线对齐 : 图片底部位置 与 文字基线 对齐 ; 这是默认的对齐方式 , 如果是 : 图片顶部 与 文字顶线 对齐 ; vertical-align: top; 底部对齐 : 图片底部 与 文字底线 对齐 ; vertical-align: bottom; 二、vertical-align 垂直对齐代码示例 ---- 代码示例 : <! ; } .three { /* 顶线对齐 - 图片顶部与文字顶线对齐 顶部对齐*/ vertical-align: top; } .four { /* 底线对齐 - 图片底部与文字底线对齐 ="one"> 基线对齐 : 图片底部与文字基线对齐

    中线对齐 : 图片中心与文字中心对齐

    5.3K30编辑于 2023-04-24
  • 来自专栏杰的记事本

    4种HTML空格的说明 (经常用于文字对齐

    在inline-block布局中会搞些小破坏,在两端对齐布局中又是不可少的元素。是个让人又爱又恨的小东东。   该空格学名不详。

    3K30发布于 2019-09-04
  • 来自专栏河湾欢儿的专栏

    4.页面优化

    为什么要优化优化的好处 1.提升网页响应速度 2.有利于搜索引擎搜索 3.对后期维护比较方便 怎么优化? 1.减少请求 2.减少文件的大小 3.页面性能 4.可读性、维护性 1.图片合并 2.css文件合并 (多个css文件合并为一个、少量的行内样式、避免import的方式引入文件) 3.减少图片的大小 (选择合适的图片格式) 4.css值缩写 5.0px 中px省略 0% 0 0.5可以写成.5 6.选择器合并 7.link标签引入样式放到head标签中 8.js脚本建议放在底部,等页面加载完之后再处理 尽量用语义化的标签来编写,有利于seo 15.类型和id名,以内容语义来命名 16.避免hack 17.模块化(一系列相关的结构做成一个模块来处理) 18.必要的时候添加注释,可读性比较好 比如说代码优化 ,大家试着说一下怎么优化

    51220发布于 2018-09-06
  • 来自专栏技术杂记

    Mysql 优化存储4

    优化脚本 一般此过程会非常漫长,可以写一个脚本来后台运行,或简单的控制一下IO [hunter@opti-slave ~]$ cat opti.bash #! opti.bash >> /path/to/optimize.log 2>&1 & 通过监控 optimize.log 来判断执行完成状态 也可以通过查看监控,IOPS很能反映问题 ---- 恢复备份 优化完成后 ,立刻恢复备份 start slave; 通过对比前后数据文件大小,可以明显看到优化效果 一般少也能缩减5%的空间,平均在10%左右,我自己经历最明显效果的是减少了32%的空间,对于一个大库来说,能节省不少磁盘空间 ,并且对查询性能也有一定优化效果 ---- 命令汇总 pt-table-checksum --nocheck-replication-filters --nocheck-binlog-format --

    41620编辑于 2022-03-21
  • 来自专栏Java 汇总

    4.Mysql 优化

    1.ORDER BY的优化        某些情况下,MySQL使用索引排序,尽量避免使用 filesort         即使ORDER BY与索引不完全匹配,也可以使用索引,只要索引的未使用部分和额外的 如果是这样,优化器可能不使用索引。如果SELECT*只选择索引列,则使用索引并避免排序。 * FROM t1 WHERE key_part1 = constantORDER BY key_part2; ---- 假设 key_part1不是索引或索引的一部分,在条件中作为常量条件存在,则优化器也会使用索引 为了获得文件排序操作的内存,从MySQL8.0.12开始,优化器会根据需要递增地分配内存缓冲区,直到达到sort_buffer_size系统变量指定的大小,而不是像MySQL8.0.12之前那样预先分配固定数量的

    1K20发布于 2020-10-29
  • 来自专栏《C++与 AI:个人经验分享合集》

    《C++内存对齐探秘:优化性能的关键步骤》

    让我们一同深入探索如何在 C++中进行内存对齐,揭开这一神秘面纱,为我们的编程之旅增添强大的性能优化武器。 一、什么是内存对齐 内存对齐是指将数据安排在特定的内存地址上,以满足硬件的访问要求。 例如,假设一个处理器每次只能读取 4 字节的数据,如果一个变量的起始地址不是 4 的倍数,那么在读取这个变量时,处理器可能需要进行多次读取和组合操作,这将大大降低访问效率。 一般来说,编译器会将这些数据类型按照其大小进行对齐,例如 int 类型通常按照 4 字节进行对齐,double 类型通常按照 8 字节进行对齐。 如果不使用位域,这三个成员变量可能需要按照 4 字节进行对齐,总共占用 12 个字节。 手动填充 在某些情况下,我们可以手动在结构体或类中添加一些填充字节,以满足内存对齐的要求。 总之,内存对齐是 C++编程中一个重要的性能优化技术。通过合理地进行内存对齐,我们可以提高程序的性能,满足硬件的要求,便于数据结构的处理。

    72210编辑于 2024-12-09
  • 来自专栏三丰SanFeng

    字节对齐

    3.结构体或者类的自身对齐值:其成员中自身对齐值最大的那个值。 4.数据成员、结构体和类的有效对齐值:自身对齐值和指定对齐值中小的那个值。 该例子中没有定义指定对齐值,在笔者环境下,该值默认为4。 第一个成员变量b的自身对齐值是1,比指定或者默认指定对齐4小,所以其有效对齐值为1,所以其存放地址0x0000符合0x0000%1=0.第二个成员变量a,其自身对齐值为4,所以有效对齐值也为 4,所以只能存放在起始地址为 再看数据结构B的自身对齐值为其变量中最大对齐值(这里是b)所以就是4,所以结构体的有效对齐值也是4。根据结构体圆整的要求, 0x0009到0x0000=10字节,(10+2)%4=0。 2 Linux32位系统下gcc编译器默认对齐4字节 3 在64位系统#pragma pack(4)的情况下,a1->c的地址按4字节对齐而不是按8字节(long在64位下为8字节长),会不会影响

    2.8K50发布于 2018-01-16
  • 来自专栏golang分享

    内存对齐

    内存对齐 内存 CPU要想从内存读取数据,需要通过地址总线,把地址传输给内存,内存准备好数据,输出到数据总线 若是32位地址总线,可以寻址[0,2的32次方-1],占用内存4g 有些CPU是能够支持访问任意地址的 每种类型的对齐边值就是它的对齐边界。int16(2),int32(4),内存对齐要求数据存储地址以及占用的字节数都是它对齐边界的倍数。 内存对齐的收益 提高代码平台兼容性 优化数据对内存的使用 避免一些内存不对齐带来的坑 有助于一些源码的阅读 为什么要对齐 列举一些常见的单位 位 bit 计算机内存数据存储的最小单位 字节 byte 和平台有关 go语言支持这些平台 archName PtrSize(指针宽度) RegSize(寄存器宽度) 386 4 8 amd64 8 8 arm 4 4 arm64 5 8 …… 被 接下来是c,它要对齐4字节。所有成员放好还不算完,内存对齐的第二个要求是结构体整体占用字节数需要是类型对齐边界的整数倍,不够的话要往后扩张。所以要扩充到相当地址23这里。

    5.2K21编辑于 2023-07-30
  • 来自专栏mathor

    枚举+优化4)——哈希表优化实例2

    例3.四平方和 思路1:枚举abcd,判断a^2^+b^2^+c^2^+d^2^是否等于N  分析规模  a:0 ~ sqrt(500000 / 4)  b:0 ~ sqrt(500000 / 3 font color = red>经验:1秒=10^8^ 思路2:枚举abc,判断N-a^2^-b^2^-c^2^是不是完全平方数  分析规模  a:0 ~ sqrt(500000 / 4) * d) == f.end()) f[c * c + d * d] = c; //枚举a,b的值 for(int a = 0;a * a <= n / 4; << c << " " << d << endl; return 0; } } } return 0; } 例4. ; return 0; } 第一次作业  先说说的思路,当时看到这题有点懵,可能还是对哈希算法掌握的不够,怎么都想不到用哈希的方法去做,索性先写了个O(N^2^)的两重循环,想着这几天学的优化

    82950发布于 2018-06-08
  • 来自专栏python3

    打印对齐

    按照要求输出小数位数 3.14 >>> print("%.9f"%a)  #如果要求的小数位数过多,后面就用0补全 3.141592600 >>> b = 3           >>> print("%4d (1)右对齐 >>> print("PI=%10.3f"%a)     #约束一下,这个的含义是整数部分加上小数点和小数部分共计10位,并且右对齐 PI=     3.142 (2)左对齐 >> > print("PI=%-10.3f"%a)    #要求显示的左对齐,其余跟上面一样 PI=3.142 二、字符类型(str) 和数值类型类似,不过将%d、%f的占位符变为了%s的占位符。

    2.3K20发布于 2020-01-09
  • 来自专栏初学C++

    内存对齐

     内存对齐应用于三种数据类型中:struct、class、union;为什么要内存对齐:提高内存访问效率,减少cpu访问内存次数用sizeof运算符可以得到整个结构体占用内存的大小。 内存对齐:#pragma pack(字节数) 如果用1,那么内存之间就没有空隙了合理使用内存对齐规则,某些节省内存的做法可能毫无意义。 遵循以上规则,做一些练习:以下都以32位操作系统为例(32位和64位下数据类型有一些区别,例如long在32位系统下占4字节,在64位下占8字节;指针在32下占4字节,在64下占8字节)struct A ,所以a从0开始,4个字节,不足4字节,自动补齐,b从4开始,到7结束,然后看c,c中最大是a,4字节,a从下标8开始,到11结束,b从12开始,到13结束,arr从14开始,到33结束,此时stu有26 个大小,但是不是4的整数倍,所以内存对齐,arr占28个字节,此时stu到35,int arr占从36开始,占40个字节大小,到75,所以整个结构体A的大小为76。

    86740编辑于 2023-09-02
  • 来自专栏知识同步

    内存对齐

    使用伪代码表示: min(#pragma pack, 结构最大数据成员长度) * N 规则2 在数据成员完成各自对齐之后,结构(或联合)本身也要进行对齐对齐也按照#pragma pack指定的数值和结构 规则3 如果没有使用#pragma pack指令来显式的指定内存对齐的字节数,则按照默认字节数来对齐,各个平台的默认对齐规则如下:32位CPU默认按照4字节对齐;64位CPU默认按照8字节对齐。 struct x{ char a; //4 int i; //4 char b; //4 }; int main() { cout << sizeof(x); //12 } 上面两个如果在#pragma pack(8)下也是一样,因为int是4个字节,小于8,所以是4字节对齐 struct x{ long long a; //8 char b; / /4 int i; //4 }; int main() { cout << sizeof(x); // }

    1.7K30编辑于 2022-12-26
  • Rust中的性能优化技术:零拷贝、内存对齐、缓存友好设计与SIMD指令优化

    不同的数据类型有不同的对齐要求,例如,u32类型通常需要对齐4字节边界,f64类型通常需要对齐到8字节边界。 由于u32类型的对齐要求较高,结构体MyStruct的对齐方式将为4字节。 例如,一个[u32; 10]类型的数组将对齐4字节边界。 手动内存对齐:在某些情况下,可能需要手动指定内存对齐方式。可以使用#[repr(align(N))]注解来实现,其中N是对齐的字节数。 测试结果表明,综合应用零拷贝技术、内存对齐与缓存友好设计以及SIMD指令优化后,图像处理的平均耗时降低了约70%,显著提高了应用的性能。 六、结论 本文详细介绍了在Rust中应用的零拷贝技术、内存对齐与缓存友好设计以及SIMD指令优化这三种重要的性能优化技术。

    15310编辑于 2026-01-15
  • 来自专栏机器之心

    GPT-2能监督GPT-4,Ilya带头OpenAI超级对齐首篇论文来了:AI对齐AI取得实证结果

    这也是「对齐」的意义。 此前的对齐方法依赖于人类的监督,如在 ChatGPT 训练中起到关键作用的人类反馈的强化学习(RLHF)。 刚刚,OpenAI「超级对齐」团队发布了成立以来的首篇论文,声称开辟了对超人类模型进行实证对齐的新研究方向。 AI 的对齐问题,即搞清楚如何构建一种值得信任的人类水平的研究器,然后将其用于解决对齐问题。 研究表明,15 亿参数的 GPT-2 模型可以被用来激发 GPT-4 的大部分能力,使其达到接近 GPT-3.5 级别的性能,甚至可以正确地泛化到小模型失败的难题上。 本文发现可以使用简单的方法来大大提高弱到强的泛化,如图 4 所示。 图 5 表明,对于较小的强学生来说,虽然它的表现比 naive 基线稍差,但提高泛化能力还是很明显的。

    46910编辑于 2023-12-15
领券