+ All Categories
Home > Documents > Buse Yılmaz – Postdoctoral Research AssociateBuse Yılmaz Postdoctoral Research Associate ENG230...

Buse Yılmaz – Postdoctoral Research AssociateBuse Yılmaz Postdoctoral Research Associate ENG230...

Date post: 17-Aug-2020
Category:
Upload: others
View: 13 times
Download: 0 times
Share this document with a friend
13
Buse Yılmaz 230 Engineering Faculty Koç University, Rumeli Feneri Campus, 34450 Sarıyer / İstanbul, Turkey H 0552 321 18 53 B [email protected] Department of Computer Engineering, Istinye University, Topkapi Campus, Zeytinburnu, Istanbul/Turkey 12 June, 2020 Dear Dr. Mustafa Mısır, I am writing this cover letter to support my application for Assistant Professor position at the Department of Computer Engineering, İstinye University. Currently, I am a postdoctoral research associate in the Department of Computer Engineering, Koç University. I obtained my PhD. from the Department of Computer Science, Özyeğin University in 2016. I believe that my professional expertise and skills in machine learning, compilers, algorithm design and low-level programming will be useful for this position. Currently, I work on design and optimization of sparse computation kernels which are the building block of several HPC applications. I use graph transformation, specialized code generation and machine learning approaches to design and optimize these kernels on heterogeneous computing platforms. In addition to conducting my own research, I also team up with graduate students and assist them. As other professional activities, I participate in proposal preparations and serve as committee member in conferences and workshops. Before joining ParCoreLab, I was a postdoctoral research associate in Bradley Department of Electrical and Computer Engineering, Virginia Tech. I worked on process migration mechanisms for heterogeneous-ISA platforms and on designing program phase detection to guide process migration. My work here helped me build expertise in low-level programming which I was first exposed to during my PhD. studies. In addition, I offered a UNIX Programming course. During my PhD in Özyeğin University, I built a customized compiler that generates code at runtime specialized to the sparse input matrix for sparse matrix-vector multiplication kernel on X86 architecture. The code generation is done at assembly level. I also developed an ML-assisted prediction framework to be able to generate only the predicted specialization method. My dissertation work helped me greatly to build skills on compiler optimizations, coding at assembly level and fundamentals of crafting feature sets, training and testing process of machine learning algorithms. After getting my degree, I offered and co-instructed several courses at Özyeğin University as an instructor. I enjoy building tool-chains and frameworks to solve problems of the computing world based on my expertise and skills. If given the opportunity, I know I will be a valuable member of your department. Thank you for your time and consideration and I hope to hear from you soon. Best Regards, Buse Yılmaz
Transcript
Page 1: Buse Yılmaz – Postdoctoral Research AssociateBuse Yılmaz Postdoctoral Research Associate ENG230 FacultyofComputerEngineering, KoçUniversity,RumeliFeneriStreet34450Sarıyer,İstanbul,Turkey

Buse Yılmaz230 Engineering Faculty

Koç University, Rumeli Feneri Campus, 34450Sarıyer / İstanbul, Turkey

H 0552 321 18 53B [email protected]

Department of Computer Engineering,Istinye University, Topkapi Campus, Zeytinburnu,Istanbul/Turkey

12 June, 2020

Dear Dr. Mustafa Mısır,

I am writing this cover letter to support my application for Assistant Professor position at theDepartment of Computer Engineering, İstinye University. Currently, I am a postdoctoral researchassociate in the Department of Computer Engineering, Koç University. I obtained my PhD. fromthe Department of Computer Science, Özyeğin University in 2016. I believe that my professionalexpertise and skills in machine learning, compilers, algorithm design and low-level programming willbe useful for this position.

Currently, I work on design and optimization of sparse computation kernels which are the buildingblock of several HPC applications. I use graph transformation, specialized code generation andmachine learning approaches to design and optimize these kernels on heterogeneous computingplatforms. In addition to conducting my own research, I also team up with graduate students andassist them. As other professional activities, I participate in proposal preparations and serve ascommittee member in conferences and workshops.

Before joining ParCoreLab, I was a postdoctoral research associate in Bradley Department ofElectrical and Computer Engineering, Virginia Tech. I worked on process migration mechanisms forheterogeneous-ISA platforms and on designing program phase detection to guide process migration.My work here helped me build expertise in low-level programming which I was first exposed toduring my PhD. studies. In addition, I offered a UNIX Programming course.

During my PhD in Özyeğin University, I built a customized compiler that generates code at runtimespecialized to the sparse input matrix for sparse matrix-vector multiplication kernel on X86architecture. The code generation is done at assembly level. I also developed an ML-assistedprediction framework to be able to generate only the predicted specialization method. Mydissertation work helped me greatly to build skills on compiler optimizations, coding at assemblylevel and fundamentals of crafting feature sets, training and testing process of machine learningalgorithms. After getting my degree, I offered and co-instructed several courses at ÖzyeğinUniversity as an instructor.

I enjoy building tool-chains and frameworks to solve problems of the computing world based on myexpertise and skills. If given the opportunity, I know I will be a valuable member of yourdepartment. Thank you for your time and consideration and I hope to hear from you soon.

Best Regards,

Buse Yılmaz

Page 2: Buse Yılmaz – Postdoctoral Research AssociateBuse Yılmaz Postdoctoral Research Associate ENG230 FacultyofComputerEngineering, KoçUniversity,RumeliFeneriStreet34450Sarıyer,İstanbul,Turkey

BuseYılmazPostdoctoral ResearchAssociate

ENG 230Faculty of Computer Engineering,

Koç University, Rumeli Feneri Street34450 Sarıyer, İstanbul, TurkeyH +90 552 321 1853B [email protected]

� Buse Yılmaz

Education2011 – 2016 PhD in Computer Science, Graduate School of Science and Engineering, Özyeğin University,

Istanbul, Turkey, Thesis: Runtime Specialization and Autotuning of Sparse Matrix-VectorMultiplication, Jury: Asst. Prof. Barış Aktemur , Assoc. Prof. Hasan Sözer, Research Assoc.Prof. María Garzarán, Assoc. Prof. Fatih Uğurdağ, Asst. Prof. Kamer Kaya, GraduationCGPA: 3.81/4.00.

2009 – 2011 Master of Science in Computer Science, Graduate School of Science and Engineering,Yeditepe University, Istanbul, Turkey, Thesis: A Novel Meta-heuristic for Graph ColoringProblem: Simulated Annealing with Backtracking (SABT), Graduation CGPA: 3.71/4.00.

2005 – 2009 Bachelor of Computer Science, Graduate School of Science and Engineering, YeditepeUniversity, Istanbul, Turkey, Thesis: Representation Issue in Graph Coloring, GraduationCGPA: 3.52/4.00.

Professional and Research Experience09/2018 – Current position: Postdoctoral Research Associate, Department of Computer Engineer-

ing, Koç University, ParcoreLab (head of laboratory: Dr. Didem Unat), Turkey.Research: 1)Program analysis for optimizing process migration between multicore machines,2) Optimization of Sparse solvers on CPUs by reducing synchronization points, 3) Optimizationof sparse solvers on heterogeneous platforms using machine learning. 4) Dependency graphtransformation and specialized code generation for sparse solvers on CPUs

09/2016–09/2018

Postdoctoral Research Associate, Bradley Department of Electrical and Computer Engi-neering, Virginia Tech, Blacksburg, USA.Research: Compiler and runtime extension for PowerPC architecture in Popcorn Linux Project,optimizing performance by machine learning for process migration on heterogenous-ISA plat-forms.Teaching (01/2018 –05/2018):ECE 2524 - Introduction to UNIX for Engineers Course: Fundamental concepts ofoperating systems, emphasizing a hands-on introduction to UNIX. User interfaces, UNIX shellcommands, the UNIX file system, task management, common system utilities, the UNIXprogramming environment. Python programming for scientific applications. Students gainexperience with system installation and administration. (100+ students)

01/2016–08/2016

Instructor at Department of Computer Science, Faculty of Engineering, Özyeğin Uni-versity, Istanbul, Turkey.Teaching:CS 222 - Programming Studio: This course teaches students how to write clean and readablecode. They practice clean code conventions, TDD and learn how to do refactoring, debuggingand how to use versioning tools effectively. (50+ students)Co-Instructing:CS 101 - Computer Programming Course: This course introduces the students to funda-mental concepts of computers, computer programming and algorithm design and implementationusing Java. (100+ students)CS 102 - Object Oriented Programming Course: This course introduces the students tofundamental concepts of object-oriented programming such as inheritance, polymorphism, codereuse and class-based modularization using Java. (100+ students)

Page 3: Buse Yılmaz – Postdoctoral Research AssociateBuse Yılmaz Postdoctoral Research Associate ENG230 FacultyofComputerEngineering, KoçUniversity,RumeliFeneriStreet34450Sarıyer,İstanbul,Turkey

2011 – 2016 Research and Teaching Assistant, Graduate School of Science and Engineering, ÖzyeğinUniversity, Istanbul, Turkey.Member of SRL (Software Research Lab), Teaching assistant of object-oriented programming,programming studio, multicore programming and programming languages courses.

2009 – 2011 Research and Teaching Assistant, Graduate School of Science and Engineering, YeditepeUniversity, Istanbul, Turkey.Member of ARTI-Lab (Artificial Intelligence), Teaching assistant of Foundations of ComputerProgramming, Data Structures and Algorithms, Introduction to Artificial Intelligence, Introduc-tion to Computer Vision courses.

2008 – 2009 Undergraduate Teaching Assistant, School of Science and Engineering, Yeditepe University,Istanbul, Turkey.

ResearchResearch InterestsDeveloping tools/libraries for optimization of HPC applications using{ compiler optimizations, code generation and specialization{ machine learning and autotuning{ program analysis and profilingPublicationsRefereed Journals

[TACO 16] Buse Yılmaz, Barış Aktemur, María Jesús Garzarán, Sam Kamin, Furkan Kıraç. "AutotuningRuntime Specialization for Sparse Matrix-Vector Multiplication". ACM Trans. Archit.Code Optim. 13, 1, Article 5 (March 2016), 26 pages. DOI: https://doi.org/10.1145/2851500

Refereed Conference and Workshop Proceedings[EuroPar 20] Najeeb Ahmad, Buse Yılmaz, Didem Unat. "A Prediction Framework for Fast Sparse

Triangular Solves". Accepted for publication at the 26th European International Conferenceon Parallel and Distributed Computing, Europar’20, August 2020 (acceptance rate: 24.5%)

[HPCAsia 20] Buse Yılmaz, Buğra Sipahioğlu, Najeeb Ahmad, Didem Unat. "Adaptive Level Binning:A New Algorithm for Solving Sparse Triangular Systems". HPCAsia 2020 (ACMInternational Conference on High Performance Computing in Asia-Pacific Region), Fukuoka,Japan. DOI:https://dl.acm.org/doi/10.1145/3368474.3368486

[SOAP 19] Buse Yılmaz,Ilyas Turimbetov, Didem Unat. "Program analysis for process migra-tion". In Proceedings of the 8th ACM SIGPLAN International Workshop on State Ofthe Art in Program Analysis (SOAP 2019). ACM, New York, NY, USA, 32-37. DOI:https://doi.org/10.1145/3315568.3329969

[GPCE 14] Sam Kamin, María Jesús Garzarán, Barış Aktemur, Danqing Xu, Buse Yılmaz, and ZhongboChen. "Optimization by Runtime Specialization for Sparse Matrix-Vector Multipli-cation". In Proceedings of the 2014 International Conference on Generative Programming:Concepts and Experiences (GPCE 2014). ACM, New York, NY, USA, 93-102.

[CSW 12] Buse Yılmaz, Barış Aktemur, "Improving Region Analysis for Parallel Analysis of Pro-grams", Computer Science Student Workshop 2012 (CSW 2012), Istanbul, Turkey.

[HIS 11] Çağrı Yeşil, Buse Yılmaz, Erkan Korkmaz, "Hybrid Local Search Algorithms on GraphColoring Problem". In Hybrid Intelligent Systems (HIS), 2011 11th International Conferenceon pp.468-473, 5-8 Dec. 2011, Malacca, Malaysia.

[ISDA 10] Buse Yılmaz, Erkan Korkmaz, "Representation Issue in Graph Coloring". In IntelligentSystems Design and Applications (ISDA), 2010 10th International Conference on , vol., no.,pp.1171-1176, Nov. 29 2010-Dec. 1 2010, Cairo, Egypt

Posters[CSW 11] Buse Yılmaz, Erkan Korkmaz, "A Novel Meta-heuristic for Graph Coloring Problem:

Simulated Annealing with Backtracking(SABT)",Computer Science Student Workshop2012 (CSW 2011), Istanbul, Turkey.

Page 4: Buse Yılmaz – Postdoctoral Research AssociateBuse Yılmaz Postdoctoral Research Associate ENG230 FacultyofComputerEngineering, KoçUniversity,RumeliFeneriStreet34450Sarıyer,İstanbul,Turkey

Professional Activities{ External Review Committee Member: ICS’20{ Program Committee Member: COLOC’20{ Program Committee Member and Local Chair: CSW’11, CSW’12, CSW’13, LogisticChair: http://myweb.sabanciuniv.edu/csw/csw/

{ Reviewer: CSW’[11-13], Subreviewer: IGSC’17, MASCOTS’19{ Supervision of graduate students working on research projects at Virginia Tech{ Assisting graduate students working on research projects at Koç University{ Participating in proposal writing during postdoctoral studies

Achievements{ Bradley Research Fellowship: Bradley Department of Electrical and Computer Engineer-

ing, Virginia Tech, Blacksburg, USA{ Best Reviewer Award: CSW’12{ National Scholarship: 2211 - National Scholarship Program for PhD Students from

TÜBİTAK (The Scientific and Technological Research Council of Turkey), Istanbul, Turkey(10/2011-12/2015)

{ Graduate Assistantship: Computer Engineering, Yeditepe University, Istanbul, Turkey(2009-2011)

{ Undergraduate Assistantship: Computer Engineering, Yeditepe University, Istanbul,Turkey (2008-2009)

{ TOEFL: 107/120

SkillsOperatingSystems

Linux Distributions: Arch Linux, Ubuntu, Fedora

ProgrammingLanguages

C, C++, Java, shell scripting, Python, Assembly (X86, ARM, PowerPC)Ocaml, F#, Scala (minor experience)Miscellaneous

Languages English: Fluent, Turkish: mother tongue, Japanese: Beginner

Page 5: Buse Yılmaz – Postdoctoral Research AssociateBuse Yılmaz Postdoctoral Research Associate ENG230 FacultyofComputerEngineering, KoçUniversity,RumeliFeneriStreet34450Sarıyer,İstanbul,Turkey

Buse YılmazResearch Statement

My research generally focuses on designing and optimizing computation kernels used in High PerformanceComputing (HPC) applications and other software using tools such as compilers and machine learning. Idevelop tool-chains and frameworks using runtime code generation and specialization, program analysisand profiling, machine learning and autotuning.

My dissertation work includes generating specialized code at assembly level for sparse matrix vectormultiplication kernel and developing a machine learning-assisted autotuning framework to predict the bestspecialization method for this kernel.

My past postdoctoral research work is designing stack transformation techniques as well as compiler-and machine learning-assisted tool-chain for smart migration, targeting process migration frameworks forheterogeneous ISAs.

Currently, I am working on sparse computation kernels. I focus on designing new algorithms as well asoptimizing existing implementations according to sparsity pattern of the input matrix to develop inputaware approaches.

Dissertation WorkDuring my PhD. studies, I developed ThunderCat [10], a special purpose compiler for Sparse MatrixVector Multiplication (SpMV) for multicore CPUs. ThunderCat automatically generates code at runtimespecialized to the input matrix. The compiler generates SpMV code at assembly level and is implementedusing LLVM [5]. The generated code runs faster than the hand-written code making up for its generationcost. Also, in many iterative solvers that SpMV is used, iteration count takes between several hundreds anda few thousands. Therefore we can generate the code once and use it multiple times. Several specializationmethods exists in the library. To be able to gain performance out of runtime code specialization, we shouldpick the best specialization method and generate code only for that instead of trying all of the methods.Fo this purpose, I built a multi-class classifier that predicts the best specialization method to use. I crafteda feature set unique to this work. The highlights of the prediction framework are the paired-labelingapproach and early-exist strategy to reduce the analysis overhead. The prototype of ThunderCat can befound in [4].

Past Research ExperienceMy previous research topic in my postdoctoral studies is about addressing the challenges on processmigration between heterogeneous multicore machines using program analysis. Process migration betweencores of a chip multiprocessor (CMP) as well as between machines has been practiced in from mobilephones to computing grids and data centers, as a means of performance benefits, fault tolerance.

To be able to insert migration points in code where it will compensate for the migration cost (state anddata transfer to the destination machine) requires assistance. We cannot insert migration points arbitrarilyin the code since the state of the computation must be the same across machines. These points are calledequivalence points and a typical equivalence point is a function boundary. However, not every functionboundary triggers a change in the code behavior (phase change). Another potential phase changing pointis a loop boundary, however, loop boundaries are not equivalence points.

1/4

Page 6: Buse Yılmaz – Postdoctoral Research AssociateBuse Yılmaz Postdoctoral Research Associate ENG230 FacultyofComputerEngineering, KoçUniversity,RumeliFeneriStreet34450Sarıyer,İstanbul,Turkey

By applying dynamic and static analysis, I built a tool [12] to help the programmer to insert migrationpoints where the program behavior changes. The tool builds the execution path by profiling the applicationand then collects some features from the code and inserts migration points in the code accordingly sothat the application benefits from process migration. The tool can address both homogeneous-ISA andheterogeneous-ISA migration mechanisms.

I also worked on extending process migration infrastructure for PowerPC architecture. To be able tomigrate the execution of a program between machines with different ISAs, a stack transformation has tobe applied in addition to saving the state of the execution and dataset. I worked on stack transformationtechniques for PowerPC when migrating back and forth from X86 and ARM architectures. The primarychallenge was that X86 and ARM manages the stack similarly whereas PowerPC does not.

Recent Research ExperienceIn many HPC applications such as reservoir simulation, climate modeling and finite element methods,sparse computation kernels are used as the building block of linear algebra equation systems. They exhibitseveral challenges on the contrary of their dense counterparts.

Recently, I have been working on Sparse Triangular Solvers (SpTRSV) on heterogeneous computingplatforms (CPUs and GPUs). SpTRSV is inherently difficult to parallelize due to dependencies betweenrows, irregular workloads and fine-grain computation.

To address the challenges SpTRSV exhibits and to optimize it, I have been working on several techniquessuch as 1) reducing synchronization points, 2) dependency graph transformation to increase parallelismdegree of the graph, 3) specialized code generation for the input matrix, 4) splitting SpTRSV executionon heterogeneous computing platforms according to architecture affinity, 5) predicting the best SpTRSVimplementation among several on heterogeneous computing platforms using machine learning techniques.

There are several SpTRSV implementation on both CPUs and GPUs. Well-known methods for SpTRSVare level-set [2, 8] and synchronization-free methods [6, 7]. Both approaches have their advantages anddisadvantages. In one of my recent works, I designed a new SpTRSV algorithm which is a hybrid ofthese two approaches [11]. Focus of this approach is designing an adaptive load-balancing algorithm andreducing synchronization requirements for performance gains.

The literature provides several sparse computation libraries such as MKL and cuSPARSE [3, 9]. However,there is no computation kernel providing the best performance for all sparse inputs. To remedy thisproblem, we recently developed an ML-assisted prediction framework [1] to choose the best SpTRSVmethod among six implementation on a CPU-GPU platform. It is accepted for publication. I assisted myteammate who is a PhD. student, in the process of the development of the prediction framework and Ispecifically focused on crafting the feature set.

Ongoing WorkCurrently, we are investigating the split execution of SpTRSV on heterogeneous computing platforms.The performance of a sparse computation kernel directly depends on the sparsity pattern of the inputmatrix. The pattern can be uniform or non-uniform throughout the matrix, in addition to being unique tothe input matrix itself. The non-uniformity provides opportunities to partition to matrix and distributeits computation to different implementations and computing platforms. Several challenges exist: 1) thenumber of split points should be chosen for performance gains, 2) the position of the split point(s) onthe dependency graph, 3) mapping the partitions of the matrix to architectures with high affinity. My

2/4

Page 7: Buse Yılmaz – Postdoctoral Research AssociateBuse Yılmaz Postdoctoral Research Associate ENG230 FacultyofComputerEngineering, KoçUniversity,RumeliFeneriStreet34450Sarıyer,İstanbul,Turkey

task for this work is designing the process of deciding whether the matrix should be splitted or not, splitpoint detection and mapping matrix parts to architectures whereas my teammate focuses on the matrixtransformation and splitting mechanism itself. I am addressing these challenges with an ML-assistedapproach.

Another ongoing effort about sparse computation kernels is graph transformation by equation rewriting.In this work again I target SpTRSV. Each row represents a linear equation and the equations can berewritten to shift rows up in the dependency graph, breaking the dependencies. This technique is used tofatten the thin levels: levels having very few rows so that they lack parallelism. Then, for these levelsthat became fatter, the cores sitting idle due to very few workload can be utilized. Another advantageof equation rewriting is removing the thin levels completely by shifting up all of the rows in these levels.Hence, synchronization barriers are removed for these levels increasing the performance. Disadvantage ofthis approach is the increase in floating-point operations and memory accesses. An important componentof this approach is the decision mechanism for the rows to be rewritten. Currently, I am developing acollection of rewriting strategies which can also be applied together. This resembles compiler optimizationpasses greatly. A possible future direction of this work is to write a special purpose compiler transformingthe dependency graph and generating specialized SpTRSV code for it. Therefore, I planned this projectin two phases: 1) transform the dependency graph by rewriting equations and pack this graph backinto a well-known sparse matrix format (namely CSR) so that we can feed this transformed matrix onany computing platform with any available SpTRSV library routine. All of known linear algebra routinessoftware provides support for CSR, 2) Developing a new parallel SpTRSV by generating specialized codethe transformed dependency graph. The increase in the memory accesses can be compensated for bygenerating code and replacing memory accesses with constants buried into the code.

Research GoalsMy short-term research goals are: 1) building more general purpose libraries by extending the existingtools and framework I built for other sparse kernels such as Cholesky factorization and higher-level sparsecomputation kernels, 2) distributing the computation to multi-GPU platforms. The communicationproblems will play an important role in this scenario.

My long-term research goals are two-fold: 1) enriching my toolbox with more compiler-centered techniquessuch as polyhedral compilation techniques and jit compilation in addition to new approaches such asmixed-precision strategy, 2) developing libraries, tool-chains and middleware for optimizing applicationsother than sparse computation kernels.

Since I have been working on sparse kernels for a considerable period of time now, I am planning towork on different problems that can be solved using my expertise. I am interested in optimization ofapplication performance in general on heterogeneous computing platforms: CPU+GPU(s), heterogeneouscores AND/OR heterogeneous memory. The applications will be diverse range from machine learningframeworks such as neural networks to general purpose C/C++ programs.

References[1] Najeeb Ahmad, Buse Yılmaz, and Didem Unat. A prediction framework for fast sparse triangular solves.In Accepted for publication at the 26th European International Conference on Parallel and DistributedComputing, Europar 2020, 2020.

[2] Edward Anderson and Yousef Saad. Solving sparse triangular linear systems on parallel computers.International Journal of High Speed Computing, 1(1):73–95, 1989.

[3] Intel Incorporated. Intel R© MKL | Intel R© Software, 2019.

3/4

Page 8: Buse Yılmaz – Postdoctoral Research AssociateBuse Yılmaz Postdoctoral Research Associate ENG230 FacultyofComputerEngineering, KoçUniversity,RumeliFeneriStreet34450Sarıyer,İstanbul,Turkey

[4] Sam Kamin, María Jesús Garzarán, Barış Aktemur, Danqing Xu, Buse Yılmaz, and Zhongbo Chen. Op-timization by runtime specialization for sparse matrix-vector multiplication. SIGPLAN Not., 50(3):93–102,September 2014.

[5] C. Lattner and V. Adve. LLVM: a compilation framework for lifelong program analysis transformation.In International Symposium on Code Generation and Optimization, 2004. CGO 2004., pages 75–86.

[6] Weifeng Liu, Ang Li, Jonathan Hogg, Iain S. Duff, and Brian Vinter. A synchronization-free algorithmfor parallel sparse triangular solves. In Proceedings of the 22Nd International Conference on Euro-Par2016: Parallel Processing - Volume 9833, pages 617–630, New York, NY, USA, 2016. Springer-VerlagNew York, Inc.

[7] Weifeng Liu, Ang Li, Jonathan D. Hogg, Iain S. Duff, and Brian Vinter. Fast synchronization-free algorithms for parallel sparse triangular solves with multiple right-hand sides. Concurrency andComputation: Practice and Experience, 29(21):e4244, 2017. e4244 cpe.4244.

[8] Maxim Naumov. Parallel solution of sparse triangular linear systems in the preconditioned iterativemethods on the gpu. Technical report, 2011.

[9] NVIDIA. NVIDIA cuSPARSE library, 2019.

[10] Buse Yılmaz, Barış Aktemur, MaríA J. Garzarán, Sam Kamin, and Furkan Kıraç. Autotuning runtimespecialization for sparse matrix-vector multiplication. ACM Trans. Archit. Code Optim., 13(1), March2016.

[11] Buse Yılmaz, Buğra Sipahioğlu, Najeeb Ahmad, and Didem Unat. Adaptive level binning: A newalgorithm for solving sparse triangular systems. In Proceedings of the International Conference on HighPerformance Computing in Asia-Pacific Region, HPCAsia2020, page 188–198, New York, NY, USA,2020. Association for Computing Machinery.

[12] Buse Yilmaz, Ilyas Turimbetov, and Didem Unat. Program analysis for process migration. InProceedings of the 8th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis,SOAP 2019, page 32–37, New York, NY, USA, 2019. Association for Computing Machinery.

4/4

Page 9: Buse Yılmaz – Postdoctoral Research AssociateBuse Yılmaz Postdoctoral Research Associate ENG230 FacultyofComputerEngineering, KoçUniversity,RumeliFeneriStreet34450Sarıyer,İstanbul,Turkey

Buse YılmazTeaching Statement

Teaching ExperienceBradley Dept. of Electrical and Computer Engineering, Virginia Tech

I was a Postdoctoral Research Associate at ECE department, VT with Bradley Endowment. I had ateaching responsibility in the department as a result of this endowment. I offered ECE 2524 – Introductionto UNIX for Engineers in for Spring 2018 semester.

ECE 2524 – Introduction to UNIX for Engineers introduces fundamental concepts of operating sys-tems, emphasizing a hands-on introduction to UNIX: User interfaces, UNIX shell commands, the UNIX filesystem, task management, common system utilities, the UNIX programming environment. Students areexpected to gain experience with system installation and administration.

I find the ability of using a shell environment very important as opposed to using a graphical desktop.My emphasis for this course was on using UNIX shell commands, shell and python scripting as well asa general knowledge about the operating system of a linux distribution. With homeworks close to miniprojects, the students practiced on how to use the basic terminal commands, performing batch operationson files, how to write and edit files on a text based editor, how to write small scripts for generating andediting files using programs such as sed and awk, and how to write small scripts for performing generalscientific experiments on remote servers. In addition, students learned how to write small scripts in pythonfor general purpose scientific computing and drawing graphs.

Below, there are some comments from my students for the course evaluation for the question What didthe instructor do that most helped in your learning? :+ She described things in a way I could understand - not too high level, but it all made sense.+ Showing examples of what exactly to use as commands early on using screenshots of your own terminalwas very helpful, as opposed to simply giving the list of possible commands and trying to figure out thecorrect order and syntax to properly use each topic. Also, the large amount of feedback given on Piazzawas very useful.

+ Her slides were very helpful in understanding the material and had examples that were crucial to solvethe homeworks and projects.

Department of Computer Science, Özyeğin Üniversity, TurkeyRight after getting my PhD degree from Department of Computer Science, Özyeğin Üniversity, I startedworking as an instructor in the department. I stayed in this position for two semesters (01/2016 –08/2016).I offered an undergraduate level course, Programming Studio in addition to co-instructing 2 other corecourses; Computer Programming and Object-Oriented Programming.

CS 222 – Programming Studio is a course which is inspired greatly from the CS242 course taughtat the University of Illinois at Urbana-Champaign. The purpose of this course is to teach students howto write clean, readable and maintainable code, how to do Test-Driven Development and how to useversioning tools. Students are assigned mini programming projects almost each week and they are also

1/5

Page 10: Buse Yılmaz – Postdoctoral Research AssociateBuse Yılmaz Postdoctoral Research Associate ENG230 FacultyofComputerEngineering, KoçUniversity,RumeliFeneriStreet34450Sarıyer,İstanbul,Turkey

given in-class programming challenges from time to time. I used Stanford’s Moss to check academicintegrity and opened up a group for discussions in Piazza. Please visit the webpage for more information:http://ozusrl.github.io/cs222/index.html

CS 101 - Computer Programming introduces the students to fundamental concepts of computers,computer programming and algorithm design and implementation using Java. ACM JAVA Task Force(JTF) is used to let students focus on designing algorithms rather than learning Java language. JTFis a collection of pedagogical resources created to ease the effort for students to learn programming.Students are also introduced to Code.org, and Alice to let them practice algorithm construction visually. Ico-instructed CS 101 and I was responsible for creating and grading the lab exercises, homeworks, projectsas well as for contributing to exam preparation and grading. I also lectured in the absence of my colleague.

CS 102 - Object Oriented Programming is a continuation of CS 101 and it introduces the students tofundamental concepts of object-oriented programming (OOP) such as inheritance, polymorphism, codereuse and class-based modularization using Java. In CS 102, students code in Java rather than using ACMJTF as opposed to CS 101. I co-instructed CS 102, I was responsible for creating and grading the labexercises, homeworks, projects as well as for contributing to exam preparation and grading. I also lecturedin the absence of my colleague.

Teaching MethodsI find it important to attract students’ attention in the lectures. After all, the easiest way for them tolearn and practice is to attend the lectures. I try to make my slides interesting by spicing up them a bit byup-to-date examples from well-known applications, and examples from their favorite TV shows, movies andbooks. If applicable, I try to do the same for homeworks and projects: a school festival simulation inspiredfrom Conway’s Game of Life with themes from Star Wars and various animes were fun for students tocode in CS 222. I received positive feedback from students. One of my students implemented the boardgame named "Daily Tents" I assigned them also for his android programming course since he liked playingit. I find tutorials in the form of short videos more useful in the sense that students do not lose focuswhile reading long pages of text and they can watch the videos again later for studying.

I came to realize that generally students’ level is not very uniform and sometimes a certain portion of theclass needs more help and on the other hand, some students are not fully satisfied with the assignmentsand ask for more. To bridge this gap, I encourage students to ask questions in the class and start or joindiscussion on Piazza. I find this helpful to both parties since students have the chance to ask anonymouslyon Piazza and successful students generally like helping others. I also find bonus exercises or bonus partsof a project helpful for students who want to collect more points.

With a similar motivation, I tend to point out things I find interesting and that are related but notin the scope of the course. Some of them find it very interesting. In ECE 2524, I pointed out threevideos explaining how to install a Linux distribution without a graphical installer. This shows them thatbeing able to use the command-line is really important and how graphical user interfaces make our life easier.

I observe that if an assignment or an exam is difficult for students, some of them get frustrated and losemotivation. Sometimes this also leads them to cheat. There is no silver bullet to solve this due to theheterogeneity of students’ knowledge and skills, however, assembling assignments and exams with differentdifficulty levels eases the situation in my opinion. Also, I encourage the students to help each other inin-class exercises and come to the class and use office hours regularly.

2/5

Page 11: Buse Yılmaz – Postdoctoral Research AssociateBuse Yılmaz Postdoctoral Research Associate ENG230 FacultyofComputerEngineering, KoçUniversity,RumeliFeneriStreet34450Sarıyer,İstanbul,Turkey

I realize that generally students do not like learning something just because they have to. I find real-worldexamples important in this sense. For example, I assigned some exercises for shell scripting based on someof my scripts that I use for my experiments on servers in ECE 2524 course.

Teaching PhilosophyI want the course to be a pleasant and valuable experience both for the students and myself. Respectand fairness are the two things I value the most. I believe that lecturers should put their best effort inthe course and be fair in their grading. In turn, students should put their best effort to learn and be verycareful about academic integrity. I take this very seriously and tell the students how important it is. I haveno tolerance for cheating. I feel frustrated when grading a work that is done by someone else since this isa waste of my valuable time.

It is important that the students understand that not everything is about grades. Learning is a continuousprocess that yields its rewards not very quickly. They should keep trying even if they fail. Unfortunately,some students do not realize that they sit at the center of the learning process and they themselves shouldbe the driving force. That is why these students blame everyone else but not themselves for their failures.We, the lecturers are there to share our expertise and experience with the students in this process and helpthem out when they face difficulties. This is my vision of teaching.

I believe that more research papers should be assigned to senior undergraduate students in courses. Ibelieve that it is important to be introduced to more specialized research topics in computer science ingeneral especially for those who consider attending the graduate school.

I cultivate the following attitudes in students who complete course work with me:

• demonstrate an understanding of the course material for designing new algorithms and analyzing theoutput of their work• establish sound reasoning and be able to teach herself beyond the course• gain the ability to apply the techniques learned in the course to new and more complex problems

Teaching InterestsMy teaching and research experience covers several topics including compilers, programming languages,algorithms, machine learning, computer architecture and operating systems. I am eager to teach un-dergraduate and graduate level courses that are core courses as well as courses related to my researchtopics: Computer Programming, Object Oriented Programming, Compilers, Programming Languages,Data Structures, Operating Systems and Computer Architecture.

I really enjoyed teaching Introduction to UNIX for Engineers course since the topics that I was coveringwere part of my daily life as an engineer.

Advising ApproachI advised graduate students at Virginia Tech. My tasks were exploring the research topic the students wereworking on along with them and providing papers as well as helping with the design of algorithms whenthey need. I also helped with paper and dissertation writing.

At Koç University, I assist undergraduate and graduate students when they joined the lab. This helpstudents with the adaptation period and they gain experience on using the lab equipment. Sometimes I pairup with a new student and assign them some simple tasks about my research such as writing simple scripts

3/5

Page 12: Buse Yılmaz – Postdoctoral Research AssociateBuse Yılmaz Postdoctoral Research Associate ENG230 FacultyofComputerEngineering, KoçUniversity,RumeliFeneriStreet34450Sarıyer,İstanbul,Turkey

for experiments. I also set up meetings with them and track their process for reporting back to the head ofthe lab. I have been working with senior graduate students on the same research topic. I attend the meet-ings with the head of the lab, help with my expertise, and participate with both in coding and paper writing.

During my PhD. studies, I learned to be self sufficient and, built the knowledge and experience to comeup with my own ideas about my research over time, thanks to my advisor. Looking back, we sometimesbrain-stormed together and wrote code together. Therefore, I find it very important for an advisor to helpwith the research while giving the student room to grow and clearly stating the expectations.

4/5

Page 13: Buse Yılmaz – Postdoctoral Research AssociateBuse Yılmaz Postdoctoral Research Associate ENG230 FacultyofComputerEngineering, KoçUniversity,RumeliFeneriStreet34450Sarıyer,İstanbul,Turkey

ReferencesNames email addresses+ Dr. Didem Unat+ Dr. Barış Aktemur+ Dr. Reyhan Aydoğan+ Dr. Reyyan Yeniterzi

+ [email protected]+ [email protected]+ [email protected]+ [email protected]

Note: Please consider Dr. Didem Unat and Dr. Barış Aktemur for my research experience while Dr.Reyhan Aydoğan and Dr. Reyyan Yeniterzi for my teaching experience. Dr. Didem Unat is an AssistantProfessor at Koç University, she is the head of ParCoreLab where I am a postdoctoral research associatenow. Dr. Barış Aktemur is my PhD. advisor at Özyeğin University who is a senior software engineer at Intel,Munich now. Dr. Reyhan Aydoğan is an Assistant Professor at Özyeğin University whom I worked withwhile I was an instructor there and Dr. Reyyan Yeniterzi is an Assistant Professor at Sabancı University,she was formerly at Özyeğin University, a colleague that I worked with as an instructor as well.

5/5


Recommended