Please use this identifier to cite or link to this item: https://cuir.car.chula.ac.th/handle/123456789/77616
Full metadata record
DC FieldValueLanguage
dc.contributor.advisorJaruloj Chongstitvatana-
dc.contributor.authorSiraphob Theeracheep-
dc.contributor.otherChulalongkorn University. Faculty of Science-
dc.date.accessioned2021-10-14T07:21:17Z-
dc.date.available2021-10-14T07:21:17Z-
dc.date.issued2019-
dc.identifier.urihttp://cuir.car.chula.ac.th/handle/123456789/77616-
dc.descriptionThesis (M.Sc.)--Chulalongkorn University, 2019en_US
dc.description.abstractMatrix multiplication is a fundamental operation used in many problems, and many matrix multiplication algorithms are proposed for many computing environments. TensorFlow is a machine learning platform with many mathematic library functions including matrix multiplication. TensorFlow provides two methods, tf.matmul and tf.sparse_matmul, for matrix multiplication. It is suggested that tf.matmul should be used for dense matrices, and tf.sparse_matmul should be used for sparse matrices. In this work, an approach is proposed to improve the efficiency of matrix multiplication in TensorFlow. The proposed approach divides each matrix into four submatrices, and chooses either tf.matmul or tf.sparse_matmul for the multiplication of each pair of submatrices, based on the density of the submatrices. We found that it is faster than both tf.matmul and tf.sparse_matmul for input matrices that have uneven distribution of non-zero values. For other inputs, it is almost as fast as the faster one between tf.matmul and tf.sparse_matmul. However, this approach can only be used for CPUs because tf.sparse_matmul is supported only on CPUs but not GPUs.en_US
dc.description.abstractalternativeการคูณเมทริกซ์เป็นการดำเนินการทางคณิตศาสตร์ที่นำไปประยุกต์ใช้แก้ไขปัญหาหลายประเภทและมีการนำเสนอขั้นตอนวิธีการคูณเมทริกซ์สำหรับหลายแพลตฟอร์ม เทนเซอร์โฟลว เป็นแพลทฟอร์มสำหรับการเรียนรู้ด้วยเครื่องที่ประกอบด้วยชุดคำสั่งทางคณิตศาสตร์หลายคำสั่ง รวมถึงคำสั่งการคูณเมทริกซ์ เทนเซอร์โฟลวมีคำสั่งพื้นฐานสำหรับคูณเมทริกซ์สองคำสั่งคือ tf.matmul และ tf.sparse_matmul ซึ่งแนะนำให้ใช้กับเมทริกซ์ที่มีเลขศูนย์น้อยและเมทริกซ์ที่มีเลขศูนย์มาก ตามลำดับ วิทยานิพนธ์ฉบับนี้นำวิธีปรับปรุงประสิทธิภาพของการคูณเมทริกซ์บนแพลตฟอร์มเทนเซอร์โฟลว วิธึการคูณเมทริกซ์ที่นำเสนอจะแบ่งแต่ละเมทริกซ์เป็นสี่เมทริกซ์ย่อย จากนั้นจึงเลือกระหว่าง tf.matmul และ tf.sparse_matmul ที่เป็นคำสั่งพื้นฐานสำหรับคูณเมทริกซ์ เพื่อคูณคู่ของเมทริกซ์ย่อยแต่ละคู่ ตามความหนาแน่นของเมทริกซ์ย่อย เราพบว่าคำสั่งการคูณเมทริกซ์ที่นำเสนอนี้สามารถคูณเมทริกซ์ได้เร็วกว่า tf.matmul และ tf.sparse_matmul ในกรณีที่เมทริกซ์มีการกระจายตัวของค่าที่ไม่ใช่ศูนย์ไม่สม่ำเสมอ สำหรับกรณีอื่นๆคำสั่งการคูณเมทริกซ์ดังกล่าวสามารถคูณเมทริกซ์ได้ช้ากว่าคำสั่งที่พื้นฐานที่เร็วที่สุดระหว่าง tf.matmul หรือ tf.sparse_matmul เล็กน้อย อย่างไรก็ตาม คำสั่งการคูณเมทริกซ์ดังกล่าวใช้ได้เฉพาะบน CPU เนื่องจาก tf.sparse_matmul รองรับการทำงานเฉพาะบน CPU ไม่รองรับการทำงานบน GPUen_US
dc.language.isoenen_US
dc.publisherChulalongkorn Universityen_US
dc.relation.urihttp://doi.org/10.58837/CHULA.THE.2019.166-
dc.rightsChulalongkorn Universityen_US
dc.subjectComputer arithmetic-
dc.subjectMatrices-
dc.subjectการคำนวณของคอมพิวเตอร์-
dc.subjectเมทริกซ์-
dc.titleAdaptive matrix multiplication for various degree of sparsity using tensorflowen_US
dc.title.alternativeการคูณเมทริกซ์ที่ปรับได้สำหรับความว่างระดับต่างๆ โดยใช้เทนเซอร์-โฟลวen_US
dc.typeThesisen_US
dc.degree.nameMaster of Scienceen_US
dc.degree.levelMaster's Degreeen_US
dc.degree.disciplineComputer Scienceen_US
dc.degree.grantorChulalongkorn Universityen_US
dc.email.advisorJaruloj.C@Chula.ac.th,jaruloj@gmail.com-
dc.identifier.DOI10.58837/CHULA.THE.2019.166-
Appears in Collections:Sci - Theses

Files in This Item:
File Description SizeFormat 
5972633323.pdf809.52 kBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.