请问下面这个函数一共load了多少次?怎么算的?在线等,急

qhgary 2003-10-10 11:47:54
void
dgemm (
const double *A, const double *B, double *C)
{
unsigned i, j, k;

for (i = 0; i < NUM; ++i) {
const double *Ai_ = A + i;
for (j = 0; j < NUM; ++j) {

const double *B_j = B + j*NUM;

double cij = *(C + j*NUM + i);

for (k = 0; k < NUM; ++k) {
cij += *(Ai_ + k*NUM) * *(B_j + k);
}

*(C + j*NUM + i) = cij;
}
}
}
...全文
35 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
anoasun 2003-11-02
  • 打赏
  • 举报
回复
如果是估算,可以把它先编译成EXE,然后拿个反汇编软件看一下不就KO了!!
csdnxw 2003-10-29
  • 打赏
  • 举报
回复
汇编没有么?不是混编
:)
csdnxw 2003-10-29
  • 打赏
  • 举报
回复
哈哈,怎么命名这么乱啊?
混编的没有命名规则么?
qhgary 2003-10-29
  • 打赏
  • 举报
回复
只是说估算,没有汇编可以看
DoItFreely 2003-10-25
  • 打赏
  • 举报
回复
在调试器里面看汇编代码,凡是用到esi+..., ebp+..., ebx+..的地方都需要访问存储器
topIIIsoye 2003-10-24
  • 打赏
  • 举报
回复
是不是读一位就LOAD一次mem,是这样那就麻烦了
WYC2300 2003-10-21
  • 打赏
  • 举报
回复
我是还没学完汇编 但我可以隐约的看出你少了CX这一寄存器来控制
qhgary 2003-10-16
  • 打赏
  • 举报
回复
大家可能没有明白我的意思,这个题目是问本函数中在变成汇编代码的时候一共访存多少次(load指令用了多少次)假设NUM=512,只用估算就可以,准确的值我想跟编译器优化有关系
nbb 2003-10-15
  • 打赏
  • 举报
回复
第一层循环NUM次,第二层循环NUM*NUM次,第三层循环NUM*NUM*NUM次,因为都是固定的计数型循环

至于dgemm本身被调用了多少次,在这里肯定是不知道的
Tiangua 2003-10-15
  • 打赏
  • 举报
回复
里面加一个静态变量,static int number=0;number++;
以后只要看看number的值就可以了。
qhgary 2003-10-10
  • 打赏
  • 举报
回复
关于汇编方面的东西我知道的确不多,程序我是明白的,我只是觉得可能由于优化的结果或者其他因素的影响,不知道具体该如何计算loads次数,谢谢知道的人能够给我简单讲讲,可以么
chengrui573 2003-10-10
  • 打赏
  • 举报
回复
其实编程就向是一张纸,随便怎么变就那么几个调用的问题,你只要好好的把基础搞好
再加上时间的推移,你自然回知道你怎么会学好编程啊,我自己的经验就是这样
想我当处,什么都不会靠的是自己的慢慢的推敲,现在小点的程序还是可以解决的]
其实时间能证明的,只要你能坚持下去,

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧