With QGIS you can use the Point sampling tool
plugin to retrieve the value of the DEM raster cell on which each GPS point is situated. Alternatively, v.what.rast
from GRASS GIS and Add grid values to point
from SAGA GIS should be available in the QGIS processing toolbox. Here is a brief guide for using all three: https://tutorials.ecodiv.earth/toc/sample_raster_in_qgis.html
In ArcGIS you have the Extract values to points
tool. The reference for this is here: http://desktop.arcgis.com/en/arcmap/latest/tools/spatial-analyst-toolbox/extract-values-to-points.htm
Lastly, here is a question explicitly concerned with open source approaches to yourthe problem, with a lot of different alternatives in the answers: Extracting raster values at points using Open Source GIS?
Extracting the raster values to the points using one of these tools should then allow you to compare the elevation values to any other attributes you might have stored in the GPS points.