LINUX.ORG.RU

! Срочно очень нужна помощь по работе gprof


0

0

Такая гадость случилась, на одной из больших машин 
не работает gprof. Выдает хрень по времени. 
Тест такой, например:


#include <stdio.h>
#include <stdlib.h>

#define LEN 10000

float sum( int p, int s )
{
  return (float)s+p;
}

float a[LEN][LEN];
float b[LEN][LEN];
float c[LEN][LEN];

int main(int argc, char *argv[])
{
  int   i, j;
  
  for (j=0; j<LEN; j++)
    for (i=0; i<LEN; i++)
      {
        a[i][j]=sum(i,j);
        b[i][j]=(float)(i-j);
      }
  
  for (j=0; j<LEN; j++)
    for (i=0; i<LEN; i++)
      {
        c[i][j]=b[i][j]/a[i][j];
      }
  
  exit(1);
}

Так эта сцуко врет со временем примерно в 10 раз. На других машинах
все хорошо. Апгрейдили glibc, glibc-profile, использовали новый gcc,
но это не спасало. Кто знает в  чем дело? Программы там довольно
старые:

gcc (GCC) 3.3.3 (SuSE Linux)

Не работает и с pgi, sunstudio, pathscale.

Если вам встречался этот баг, расскажите какой и как лечится.
★★★

problema s pamyat'yu - trebuetsya slishkom bol'shoi radel dannyikh. A esli poprobovat' dinamichskuyu pamyat' dlya a,b,i c?

p.s. sorry za translit

VIT
()
Ответ на: комментарий от VIT

Это суперкомпьютер - памяти завались :)

Не работает на любых тестах, не важно какие локальные или глобальные данные. Этот был лишь для примера. Там старье в glibc. Мы пытаемся понять в чем дело. Но пока не выходит. Я думал кто-то сталкивался или это стандартный баг. Ничего не нагуглилось (((

atoku ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.