전공은 물리학이고 컴퓨터로 계산하는게 주 업무입니다.

 작업환경은 Fedora 16 64bit 이고 컴파일러는 인텔 C 컴파일러(icc 아마도 버전은 10으로 기억합니다..., 32bit, 64bit합본...)를 사용합니다. 

 이번에 계산을 좀 크게 돌리고 싶은데 램이 좀 부족해서 컴퓨터를 새로 샀습니다.

 램을 16GB 끼우고 계산을 돌리려 하는데 32bit 컴파일러로 컴파일을 했더니 계산이 안되더군요.

 배열을 만들 때 numerical recipe의 헤더파일을 사용하고 있는데 출력된 에러메시지는 램 용량이 부족할 때 뜨는  메시지였습니다.

 혹시나해서 64bit 컴파일러로 컴파일했더니 계산이 됩니다.

 

 32bit운영체제에서는 메모리 4GB 이상 지원이 안되는걸로 알고 있는데

혹시 32bit로 컴파일한 프로그램에서도 메모리 4GB이상 지원이 안되는 것인가요?

 

32bit 리눅스를 설치한 후 PAE옵션이 적용된 커널로 4GB램을 인식시키는 방법이 있는데

 

 그리고 예전에 gcc 사용하다가 icc로 바꿨더니 계산 속도가 3배 빨라지던데... (30%쯤 빨라졌다는 사람들은 봤습니다.)

 이게 가능한 일인건가요... (어쨌건 실제로 일어났으니 가능한 일이긴 합니다만... 프로그램을 너무 못짜서 그런건지 아니면... 붉은 것은 3배 빠르다거나...)

 

 아... 그리고 64비트가 32비트에 비해 좋은점이 무엇인가요? 실제 계산을 돌려봤을 때는 시간이 별 차이가 없거나 심지어는 64비트의 경우가 더 느린 경우도 있었습니다만... 

  단순히 램을 더 많이 인식한다는게 전부는 아니겠죠?