CUSTOM_CONFIG_MAX_DRAM_SIZE的大小换算

DFlash:面向Qwen3.5的无损全链路推理加速框架 大模型推理加速本质是计算、内存与调度的协同优化问题。传统方案如量化会引入精度损失,FlashAttention仅优化attention子模块,而vLLM等系统在KV缓存管理上存在带宽浪费与碎片化瓶颈。DFlash提出一种面向Decoder-only架构的全链路协同调度范式,通过环形分段连续块(Ring-Segmented Block)、细粒度缓存池(Fine-grained Cache Pooling)和RoPE预计算卸载等关键技术,在不修改权重、不降低精度的前提下,实现显存占用压缩、数据搬运消除与计算单元 阅读详情

今天看代码,0x10000000代表1G,0x20000000代表2G,0x40000000代表4G,很疑惑,不清楚是怎么换算的。

原来要和机器字长联系起来计算就可以对上了,以0x10000000代表1G为例:

1G 即 1GB == (2^10) * (2^10) * (2^10)B == 2^30B

0x10000000换算成二进制即2^28,然后根据CPU的字长为32位(4字节)或者64位(8字节)

如果CPU是32位那么2^28*4=2^30,即1G,很明显这颗CPU就是32位的,

也就有了 0x10000000代表1G,

当然如果CPU是64位的,这个数字就要是2^30/8==2^27,然后再换算成十六进制即可。


下面是32位CPU的例子:

ifeq (0x10000000,$(strip $(CUSTOM_CONFIG_MAX_DRAM_SIZE)))

PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.config.low_ram=true
endif

ifeq (0x20000000,$(strip $(CUSTOM_CONFIG_MAX_DRAM_SIZE)))
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.config.low_ram=true
endif

ifeq (0x40000000,$(strip $(CUSTOM_CONFIG_MAX_DRAM_SIZE)))
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.config.low_ram=true
endif
MT6761 如何修改project max dram size DESCRIPTION] 同一个project, 如何修改max dram sizeex: 3GB ram , 如何配置成2GB or 1GB... (可作为performance 量测或对比)或是2GB ram , 却只显示1GB... 阅读详情

相关推荐

Flash ddr调试

流程:先确认所使用DDR类型(eMCP或分离式DDR+eMMC,可与项目经理确认),确认完DDR类型后,在官网online上面QVL查询是否有对应时序,若无,则可让flash供应商提供时序。大概意思为先读取eMMC firmware的emmc id,再与解析后的xlm时序表中的emmc id做遍历,若找到,则初始化ddr。--- CUSTOM_CONFIG_MAX_DRAM_SIZE的大小不能小于实际DRAM大小,DRAM会自适应物理DRAM的size。背景: Android T。

x-2010的笔记 1410

看零识内存大小

长期不碰基础知识,居然一下子没反应过来。请注意0x代表着16进制。

weixin_43295247的博客 1075

银河麒麟V10新特性解析:从安装到AI应用的全面指南

本文全面解析银河麒麟V10操作系统的新特性,从安装指南到AI应用开发,详细介绍了其智能调度引擎、神经网络加速和场景化AI工具集等核心功能。通过实战案例展示如何高效配置AI环境、优化性能,并解决常见问题,助力开发者在国产操作系统上实现高效AI开发与应用部署。

seed的博客 302

32位地址对应大小

0xFFFFFFFF是一个32位16进制地址。这个地址代表4GB大小。为了快速识别地址大概在进程地址空间的什么位置,分析一下32位16进制每位代表的大小。16进制地址最高位(第8位)1个单位代表了 4GB/16=256M 如地址:0x10000000 为256m的地址。16进制地址最高位(第7位)1个单位代表了 256M/16=16M 如地址:  0x1000000 为16m的地址。

历史的尘埃 5872

【项目实战】小智AI MCP协议在IoT设备控制中的深度应用解析

本文深度解析小智AI MCP协议在IoT设备控制中的应用实践。通过MCP协议作为AI与物联网设备的翻译桥梁,实现大语言模型与ESP32等硬件的无缝通信。文章详细介绍了环境搭建、工具注册、消息路由机制,并以语音控制RGB灯光系统为例展示完整开发流程,为AIoT开发者提供实用指南。

oauth7security的博客 825

Stm32L0 STM32CUBE中UART和使用LPUART1以及串口不进中断问题解决

/* 开启串口1中断 */ LL_USART_EnableIT_RXNE(LPUART1); /* 开启串口2中断 */ LL_USART_EnableIT_RXNE(USART2);

シ❤゛甜虾的个人博客 7687

如何表示内存大小(内存用十六进制表示)

我们在看编程书籍、嵌入式书籍的时候,经常会用到内存大小,那么内存大小是如何表示的呢? 如我们使用内存的范围为0X8000 0000~0X8020 0000,那么这块内存是多大呢?今天我们就分析这个问题 计算过程 首先我们要知道,在系统中我们说内存大小是使用byte为单位的。也就是说1=1byte,另外我们要熟悉16进制的转换,那么就有了: 0X1 = 1byte 0X10 = 16 byte 0X100 = 16*16 byte = 256 byte 0X1000 = 16 *256 byte= 4 .

sixtome 8339

手把手复现金蝶云星空V8.1文件上传漏洞(附完整POC与修复方案)

本文深度解析金蝶云星空V8.1文件上传漏洞,提供详细的漏洞复现步骤与完整POC,涵盖技术原理、测试环境搭建及验证流程。同时给出多维防护方案,包括官方补丁部署、临时缓解措施和长期安全加固建议,帮助企业有效防范任意文件上传风险。

weixin_30505225的博客 183

Android 13 平板角度修改为270度

【代码】Android 13 平板角度修改为270度。

juzi_bug的博客 1432

2024高校网络安全管理运维赛题目--复现+题目+wp

官方writeup集思广益比较好的备份。

书山有路勤为径,学海无涯苦作舟 1323

IgH EtherCAT 从入门到精通:第 2 章 环境搭建与编译安装

环境搭建与编译安装指南 本章详细介绍了搭建IgH EtherCAT Master开发环境的完整流程。内容包括: 硬件要求:支持多种Intel和Realtek网卡的原生驱动,以及通用网卡的generic驱动选项 软件依赖:列出Linux系统下所需的工具链和开发包 源码获取:通过Git克隆官方仓库并切换稳定版本的方法 配置选项:详细解析bootstrap脚本和configure的核心参数,包括路径设置、功能开关和实时框架选项 编译流程:从生成构建系统到最终编译安装的完整步骤 通过本章指导,读者可以完成一个可运行

从事嵌入式linux android驱动开发,拥有全栈能力 480

MTK平台内存显示不足

首先先说一下查看dram大小的命令 adb free -m 或者 (后面这个查看dram信息更全一点) 当时项目的问题是dram明明是1G的,但用上面两个命令查看居然都只有478M,严重不够 这个原因很简单,因为客制化配置有限定dram大小 修改两个地方 alps/device/wingtechsh/项目名/ProjectConfig.mk和 vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/项目名/项目名.

qq_39695119的博客 470

YOLOv8 WIOU

本文介绍了如何在YOLOv8中实现WIOU(Weighted Intersection over Union)的修改方法。主要修改了ultralytics/utils/metrics.py文件中的bbox_iou函数,新增了WIoU_Scale类,支持单调性FM v2、非单调性FM v3两种模式,并提供了动态调整的动量参数。修改后的函数支持多种IoU变体(GIoU、DIoU、CIoU等),通过数学公式实现了更精确的边界框回归损失计算,特别针对小目标检测场景进行了优化。该实现使用了PyTorch框架,包含完整

FJN110的博客 2050

MTK DDR进行ETT之后的压力测试--代码调整

在主机的测试环境的搭建好之后,需要调整Android系统源码,否则将达不到测试的目录,完成之后需要关闭部分对应的调整。 1、preloader部分的调整 1)修改vendor\mediatek\proprietary\bootable\bootloader\preloader\custom\evb3561sv_w_no2\evb3561sv_w_no2.mk 添加DDR压力测试的编译开关到当...

jinron10的专栏 3610

论文翻译:2024 High-Confidence Computing A survey on large language model (LLM) security and privacy: The

大型语言模型(LLMs),如ChatGPT和Bard,已经彻底改变了自然语言理解和生成。它们具有深度语言理解能力、类似人类的文本生成能力、上下文意识和强大的问题解决技能,使它们在各个领域(例如搜索引擎、客户支持、翻译)中变得不可或缺。同时,LLMs也在安全领域获得了关注,揭示了安全漏洞并展示了它们在安全相关任务中的潜力。本文探讨了LLMs与安全性和隐私的交集。具体来说,我们研究了LLMs如何积极影响安全性和隐私,与它们使用相关的潜在风险和威胁,以及LLMs内部的固有漏洞。

CSPhD-winston的博客 1722

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

解决部分默认值,及某些功能性、模式性问题

.....@Override......@Override......if (!} else {............

qq_71741001的博客 789

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

《C语言笔记:内存相关》

一,内存编址方式   1,内存在逻辑上就是一个一个的格子,这些格子可以用来装东西(里面装的内容就是内存中存储的数),每个格子都有一个编号,这个编号就是内存地址,这个内存地址(就是一个数字)和这个格子的空间(实质是一个空间)是一 一对应且永久绑定的。   2,程序运行时,CPU只认识内存地址,至于这个地址所代表的空间在哪里,怎么分布并不关心。因为硬件设计保证了按照这个地址就一定能找到这个格...

qq_40709487的博客 258

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

PSRAM的前世今生

这几天工作不是太忙,就抽空看了点硬件相关的知识。就看到了PSRAM,不过了解PSRAM,还得了解其历史,就出来了DRAM,SRAM. 下面是自己做的总结。 DRAM 1。 DRAM容量大。 DRAM每个位的记忆电路是以1个晶体管与1个电容所构成.SRAM每个位需要4~6个晶体管才能构成,DRAM拥有比SRAM高4~6倍的记忆密度。 2. 不是持续供电,需要刷新电路,...

weixin_33701564的博客 538

MTk kernel启动流程

MTk kernel启动流程 late_initcall 所有的__init函数在区段.initcall.init中还保存了一份函数指针,在初始化时内核会通过这些函数指针调用这些__init函数指针,并在整个初始化完成后,释放整个init区段(包括.init.text,.initcall.init等)。   注意,这些函数在内核初始化过程中的调用顺序只和这里的函数指针的顺序有关,和1)中所述的这些...

MrDongShiYi的博客 1482

MTK MT6577 Android驱动设置方法资料分享

在网络上看到的一篇资料,分享给大家参考, MT6577 Android驱动设置: LCD 1.1怎样新建一个LCD驱动 LCD模组主要包括LCD显示屏和驱动IC。比如LF040DNYB16a模组的驱动IC型号为NT35510。要在MT6577平台上新建这个lcd的驱动,步骤如...

chezhi1170的博客 5027

liunx内存管理

内存管理概述MMU(内存管理单元):通过CPU将线性地址转换成物理地址。 内存管理是相当复杂的体系结构,它所涉及到三个层次:用户空间、内核空间和硬件空间。 用户空间层大家可以理解为Linux内核内存管理为用户空间暴露的系统调用接口,比如brk、mmap等系统调用。基本是都是以libc库直接封闭成我们常用的C语言系统标准函数,例如mmap()和malloc等。 内核空间层包含的模块非常丰富,用户空间和内核空间的接口是系统调用,因此内核空间首先需要处理这些内存管理相关的系统调用,比如sys_brk、sys

hongyucai的博客 733

内存大小的计算

size = 0x80000是指512K 0x80000是指十六进制的80000 十六进制的10代表十进制的16 十六进制的100代表十进制的256 十六进制的1000代表十进制的4096 十六进制的80000代表十进制的524288 524288字节÷1024字节/K=512K 2MByte flash大小: 2M*1024K*1024字节 = 十进制 2097152...

jiangchao3392的专栏 8252

linux的物理内存

linux系统对于物理内存管理主要有下面3次探测的过程: 1:第一次探测 Arch/i386/boot/setup.S在这里使用了三种方法,通过调用0x15 中断:E820H 得到memory map。E801H 得到大小。88H 0-64M. 2:第二次探测:start_kernel() -> setup_arch()这里主要是对物理内存的初始化,建立zone区。并且初始化pag

cybertan的专栏 4217

计算机的大小端存储

内存地址存储的最小数据大小就是字节,例如一个变量char temp的地址0x10000000,temp值为0x55,由于char类型只占用一个字节,那么temp变量就只占用0x10000000这个内存地址,不会占用其他内存地址,那假如变量是个int型呢?这里有几个概念:高地址,低地址,高位,低位,其中高地址,低地址是针对内存地址而言,高位,低位是针对数据类型的bit位的高低而言。当基本数据类型占用字节数超过了1字节后,大小端决定了数据按照什么顺序存储在内存里。大小端只针对基本数据类型。

书山有路勤为径 347

内存管理之虚拟地址空间布局——用户虚拟地址空间布局

进程的用户虚拟地址空间的起始地址是0,长度是TASK_SIZE,由每种处理器架构自定义实现。ARM64架构定义的宏如下: 32位用户空间程序:TASK_SIZE的值是TASK_SIZE_32,即0x100000000,等于4GB; 64位用户空间程序:TASK_SIZE的值是TASK_SIZE_64,即2的VA_BITS次幂字节(VA_BITS是编译内核时选择的虚拟地址位数)。 arch/arm64/include/asm/memory.h #define VA_BITS (CONFIG_ARM6

linuxweiyh的博客 511

虚拟内存和linux(操作系统八股文part1)

八股之虚拟内存和Linux部分的笔记。

linjixia的博客 3036
上一篇: wildcard notdir patsubst eval
下一篇: 手机TAC码介绍
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值