Mapping High Level Parallel Programming Models to Asynchronous Many-Task (AMT) Runtimes