HP aC++ A.03.85 Release Notes

HP aC++ Release Notes
New Features in Version A.03.33
Chapter 136
for (int i=nend;i<n;i++)
b[i]=a[ia[i]];
}
The two pragma statements allow a[ia[i]] to be prefetched. Note that the compiler
continues to unroll the loops as in the original code.
There can be problems using the prefetch pragma when the kernel cannot allocate large
pages. Without large pages, there can be performance lost to Translation Lookaside Faults
(TLB). The optimal page size varies with different applications but 4MB page size is
a good average.
TLB faults occur when a particular page address does not reside in the TLB buffer. This buffer
contains the mapping of the virtual addresses to the absolute addresses of the pages recently
fetched in the cache. A TLB fault happens when a reference to a particular virtual page
address cannot be translated to an absolute address in the buffer.
Even when all the TLB and prefetch features are working, you are still limited by the memory
bandwidth of the system. The top bandwidth may be reduced by failing to load all the memory
slots in some PA-RISC systems. The memory controller depends on having all slots loaded to
get the best bank interleaving.
Support for SDK/XDK
The SDK/XDK feature helps in selecting components, headerfiles, and libraries installed in
alternate locations. You must set either one or both of the following environment variables:
SDKROOT
TARGETROOT
SDKROOT Environment Variable
The SDKROOT environment variable is used as a prefix for all references to tool set components
and must be set when you use a non-native development kit or a toolset installed at an
alternative location. Some of the toolset components are compiler drivers, Compiler
Applications, Preprocessor, Linker, and object file tools.
For example, if a compiler tool set is installed in directory /opt/xdk-ia/ then, export
SDKROOT=/opt/xdk-ia prefixes all references to the compiler tool set components with
/opt/xdk-ia.