The importance of graph applications is growing as society becomes more interconnected. Many real world datasets are best modeled as graphs, e.g., road networks, the Internet, social networks, protein-protein interactions, utility grids, and communication. Graph analytics be used to answer many different categories of questions, including traversal, querying, and data mining. It is often desirable to execute graph analytics applications on a wide range of hardware platforms (from supercomputers to mobile devices). The equivalence between a graph and the associated sparse matrix encoding a graph's adjacency list has prompted considerable interest in casting various graph algorithms in terms of sparse matrix operations. We propose to identify a set of high-level matrix and graph primitives and to create efficient implementations of primitives for multiple platforms. This will serve the basis for a performance portable graph framework. A runtime graph analysis engine will also be developed and integrated into the framework (to select the best algorithms and data structures based on the graph and compute hardware). This will allow graph analytics experts to develop performance portable graph applications without concern for the low-level optimizations required to target their application to a particular hardware platform for multiple graph layouts.