리눅스 콘솔 또는 /var/log/messages를 보면은 다음과 같은 메세지를 보게된다.
이 메세지는 프로세스 id가 14511인 R.bin 소프트웨어가 프로그램이 부동소수 연산(floating-point operation)을 수행한다는 의미이다. 아이테니움에서 IEEE denormals 수행시 종종 발생한다. 이러한 연산은 커널에서 어뮬레이트해주기 때문에 정확성의 관점에서 걱정할 필요가 없다. 이러한 연산시 어뮬레이팅 연산 시간과 프로그램을 느리게 한다. 대부분의 프로그램은 모든 IEEE-compliance를 필요로하지 않는다. 아이테니움 리눅스는 프로세서에서 "flush-to-zero" 모드를 지원한다. 이 모드를 사용하기 위해서는 다음의 코드 조각을 사용하면 된다.
또 다른 방법으로는 컴파일러 옵션으로 -ffast-math 를 사용하면 같은 효과를 얻을 수 있다. 예를 들면 다음과 같다. "test" 프로그램을 flush-to-zero 모드를 켜고 빌드한다.

Posted by hongiiv

2006/07/21 14:13 2006/07/21 14:13
, , , ,
Response
No Trackback , a comment
RSS :
http://socmaster.homelinux.org/~hongiiv/rss/response/130

Trackback URL : http://socmaster.homelinux.org/~hongiiv/trackback/130

Comments List

  1. hongiiv 2006/07/23 20:02 # M/D Reply Permalink

    이 최적화 옵션을 지정하면 gcc는 전처리기 매크로 __FAST_MATH__를 정의하고 내부적인 수학 최적화를 수행한다. 이 옵션은 -fno-math-errno, fun-math-optimizations, -fno-trapping-math 옵션을 사용한다고 가정한다. 이 옵션은 gcc 표준 -o 최적화 옵션과 함께 사용하면 안된다. 왜냐하면 IEEE나 ISO 규칙의 정확한 구현이나 수학 함수의 특성에 의존적인 프로그램은 잘못된 결과를 내기 때문이다. ㅋㅋㅋ

Leave a comment
[로그인][오픈아이디란?]
« Previous : 1 : ... 424 : 425 : 426 : 427 : 428 : 429 : 430 : 431 : 432 : ... 543 : Next »


야후 블로그 벳지


Site Stats

Total hits:
291961
Today:
131
Yesterday:
234