Back to Search Start Over

En jämförelse av prestationen mellan CPU och GPU i TensorFlow

Authors :
Lind, Eric
Pantigoso Velasquez, Ävelin
Publication Year :
2019
Publisher :
KTH, Skolan för elektroteknik och datavetenskap (EECS), 2019.

Abstract

The fast-growing field of Machine Learning has in the later years become more common, as it has gone from a restricted research area to actually be in general use. Frameworks such as TensorFlow have been developed to scale and analyze artificial neural networks, which are used in one of the areas in Machine Learning called Deep Learning. This paper will study how well the framework TensorFlow performs in regard to time and memory allocation on the processor units CPU and GPU since these are the factors that are often the restraining resources. Three neural networks have been used to measure how TensorFlow allocates the resources and computes operations used to process the neural network during the training phase. By using TensorFlows profiler we could trace how each operation was executed in the CPU and GPU, from the gathered data we could analyse how the operations allocated memory and time. Our results show that the training of a more complex neural network benefits from being executed on the GPU, while a simple neural network has no or an insignificant profit from being executed on the GPU over the CPU. The result also indicates possible findings for further research such as processor utilisation as the gaps in the scheduling has not been studied in this paper. Det snabbt växande fältet Maskininlärning har de senaste åren kommit att bli vanligare och vanligare, det har gått från att vara ett forskningsfält till att användas mer generellt i produktutveckling. Ramverk som TensorFlow har utvecklats för att göra det möjligt att skala och analysera artificiella neurala nätverk, dessa används inom Djupinlärning, ett fält inom Maskininlärning. Denna rapport undersöker hur väl ramverket TensorFlow utför beräkningar med åtanke till tid och minnesallokering på CPU samt GPU eftersom dessa är de faktorer som är mest begränsade resurserna under träning. Tre artificiella neurala nätverk har använts för att undersöka hur TensorFlow allokerar resurserna och hur den använder sig utav operationer som utförs under träningsfasen av de neural nätverken. Genom att använda TensorFlows profiler kunde vi följa hur varje operation var utfördes i både GPU och CPU. Från datan kunde vi analysera operationer tog tid och allokerad minne under hela träningsfasen. Resultatet visade på att träning av mer komplexa neurala nätverk drog nytta av att utföras på GPU, medan mer simpla neurala nätverk hade ingen eller en obetydlig vinning från att använda GPU istället för CPU. Resultaten indikerar också möjliga upptäckter som kan undersökas i framtida forskning. Som till exempel processorernas utnyttjande eftersom vi fann luckor inom operations schemat som inte blev undersökt i denna studie.

Details

Language :
English
Database :
OpenAIRE
Accession number :
edsair.dedup.wf.001..1953c289d3d48d33f791e4c314028df0