1. A system comprising: a shared-memory multiprocessor including a plurality of processors and a memory; and an interface that provides access to, a thread-location function or instruction that, when executed by a thread: uses an identifier that identifies the thread to retrieve a location identifier that identifies a cache memory where the thread has accessed data; and returns the location identifier to the thread; and a targeted-store function or instruction that receives the location identifier and, when executed by the thread, uses the location identifier to push data for the targeted-store function or instruction to the cache memory.