InvokeAI: Configuration and performance - FP16/FP32

Go back to list

In AI and computing in general, datatype can wide widely affect the performance of a workload. The longer the decimal places, the more precise the result will be but generally with a penalty in terms of performance.

InvokeAI proposes FP16 & FP32 but no performance difference:

 
 

 

 

{ "configuration": { "chart": { "type": "spline", "polar": false, "zoomType": "", "options3d": {}, "height": null, "width": null, "margin": null, "inverted": false, "zooming": {} }, "credits": { "enabled": false }, "title": { "text": "Time elapsed" }, "colorAxis": null, "subtitle": { "text": "" }, "xAxis": { "title": { "text": [ "Image size" ], "useHTML": false, "style": { "color": "#666666" } }, "categories": [ 32, 64, 128, 256, 512, 1024, 2048 ], "lineWidth": 1, "tickInterval": null, "tickWidth": 1, "tickLength": 10, "tickPixelInterval": null, "plotLines": null, "labels": { "enabled": true, "format": null, "formatter": "", "style": { "color": "#666666", "cursor": "default", "fontSize": "11px" }, "useHTML": false, "step": 0 }, "plotBands": null, "visible": true, "floor": null, "ceiling": null, "type": "linear", "min": null, "gridLineWidth": null, "gridLineColor": null, "minorTickInterval": null, "minorTickWidth": 0, "minTickInterval": null, "startOnTick": true, "endOnTick": null, "tickmarkPlacement": null, "units": null, "minRange": null }, "yAxis": { "title": { "text": [ "seconds" ], "useHTML": false, "style": { "color": "#666666" } }, "categories": [], "plotLines": null, "plotBands": null, "lineWidth": null, "tickInterval": 10, "tickLength": 10, "floor": null, "ceiling": null, "gridLineInterpolation": null, "gridLineWidth": 1, "gridLineColor": "#CCC", "min": 0, "max": null, "minorTickInterval": null, "minorTickWidth": 0, "minTickInterval": null, "startOnTick": true, "endOnTick": null, "minRange": null, "type": "linear", "tickmarkPlacement": null, "labels": { "enabled": true, "formatter": null, "style": { "color": "#666666", "cursor": "default", "fontSize": "11px" }, "useHTML": false } }, "zAxis": { "title": { "text": "seconds" } }, "plotOptions": { "series": { "dataLabels": { "enabled": false, "format": null, "distance": 30, "align": "center", "inside": null, "allowOverlap": false, "style": { "fontSize": "11px" } }, "showInLegend": null, "turboThreshold": 1000, "stacking": "", "groupPadding": 0, "centerInCategory": false, "findNearestPointBy": "x" } }, "navigator": { "enabled": false }, "scrollbar": { "enabled": false }, "rangeSelector": { "enabled": false, "inputEnabled": false }, "legend": { "enabled": true, "maxHeight": null, "align": "center", "verticalAlign": "bottom", "layout": "horizontal", "width": null, "margin": 12, "reversed": false }, "series": [ { "name": "T-Systems Open Telekom Cloud p3.2xlarge.8 fp16", "verbose": "T-Systems Open Telekom Cloud p3.2xlarge.8 fp16", "data": [ { "y": 3.892333333333333 }, { "y": 4.076333333333333 }, { "y": 3.8683333333333336 }, { "y": 3.842333333333334 }, { "y": 3.967 }, { "y": 7.617 }, { "y": 46.06066666666667 } ], "color": "#d1006c", "marker": { "enabled": true } }, { "name": "T-Systems Open Telekom Cloud p3.2xlarge.8 fp32", "verbose": "T-Systems Open Telekom Cloud p3.2xlarge.8 fp32", "data": [ { "y": 4.5955 }, { "y": 3.8035 }, { "y": 3.7795 }, { "y": 3.8148000000000004 }, { "y": 3.9172 }, { "y": 7.6564 }, { "y": 45.85033333333333 } ], "color": "#d1006c", "marker": { "enabled": true } } ], "drilldown": {}, "tooltip": { "enabled": true, "useHTML": false, "format": null, "headerFormat": "", "pointFormat": "<span style=\"color:{series.color}\">{series.name}</span>: <b>{point.y:.2f}</b><br/>", "footerFormat": "", "shared": false, "outside": false, "valueDecimals": null, "split": false }, "annotations": null }, "hc_type": "chart", "id": "12279951331274445828460478350553207301" }

FP32

FP16