At a high level the Heterogeneous Systems Architecture and Google's Portable Native Client virtual instruction set architecture/intermediate language (http://src.chromium.org/viewvc/native_client/data/site/pnacl.pdf) share a lot of similarities:
Some possible differences include:
With the exception of Portable Native Client's 32-bit integer and pointer limitation, the difference features of Portable Native Client and HSA should be beneficial for each other. HSA could be a pretty ideal platform for Portable Native Client to run on.
AMD is approaching the virtual portable ISA problem from a system level architecture level upwards whereas Google is approaching from an application layer downwards. In the middle where the 2 virtual ISAs exist, they have very similar goals so it doesn't make sense to develop 2 competing platforms.
Has there been collaboration between AMD and Google? Anyone from AMD want to comment?