Argonne Looks to Singularity for HPC Code Portability