1. A system for translating functions of a program, comprising: a local-scope variable identifier operable to identify local-scope variables employed in at least some of said functions as being either thread-shared local-scope variables or thread-private local-scope variables; and a function translator associated with said local-scope variable identifier and operable to translate said at least some of said functions to cause thread-shared memory to be employed to store said thread-shared local-scope variables and thread-private memory to be employed to store said thread-private local-scope variables.