HP aC++ Release Notes Version A.03.95 (5900-1789; September 2011)

HP aC++ Release Notes
New Features in Version A.03.33
Chapter 140
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.
The following details the default tool set components location as specified in the above command and its
earlier location before the execution of the command:
Native Location Alternate Toolset Location
/opt/aCC/bin/aCC /opt/xdk-ia/opt/aCC/bin/aCC
/opt/aCC/lbin/ctcom /opt/xdk-ia/opt/aCC/lbin/ctcom