Presentation is loading. Please wait.

Presentation is loading. Please wait.

Research Topics CSC 3990. Parallel Computing & Compilers CSC 3990.

Similar presentations


Presentation on theme: "Research Topics CSC 3990. Parallel Computing & Compilers CSC 3990."— Presentation transcript:

1 Research Topics CSC 3990

2 Parallel Computing & Compilers CSC 3990

3 What is a Compiler? Compiler –Converts source code into machine code –Automatic –Relieve programmer from having to know about machine (processor)

4 What is a Parallel Compiler? Parallel Compiler –Converts source code into machine code to run on a parallel computer –Centralized shared memory computer or supercomputer –Distributed computer –Anything where a single program will run on more than one processor

5 Compiler Structure source code intermediate code compiler front-end machine code loop optimization register allocation code generation code scheduling

6 Phases of a Compiler Source program Lexical Analyzer (Scanner) Tokens Syntax Analyzer (Parser) Parse tree Semantic Analyzer Abstract Syntax Tree w/ Attributes Intermediate-code Optimizer Optimized Intermediate Code Target-code Generator Target machine code Intermediate-code Generator Non-optimized Intermediate Code

7 Nanocompiler – an initial vision Source code Front end Machine requirements analysis Machine description generation Back end processor Executable code Processor generator Dynamic profiler Machine description generated from IR Processor generated from machine description Executable runs on generated processor Dynamic profiler feeds back to analyzer Processor reconfigured at run-time

8 Example: Loop Unrolling Loops are popular places for identifying “parallelism” Can separate iterations of the same loop execute at the same time? If so, how can the code be modified… automatically… to make that happen? for (i=0; i<100; i++) A[i] = B[i] * C[i];

9 Natural Language Processing CSC 3990

10 What is NLP? Natural Language Processing (NLP) –Computers use (analyze, understand, generate) natural language –A somewhat applied field Computational Linguistics (CL) –Computational aspects of the human language faculty –More theoretical

11 Why Study NLP? Human language interesting & challenging –NLP offers insights into language Language is the medium of the web Interdisciplinary: Ling, CS, psych, math Help in communication –With computers (ASR, TTS) –With other humans (MT) Ambitious yet practical

12 Goals of NLP Scientific Goal –Identify the computational machinery needed for an agent to exhibit various forms of linguistic behavior Engineering Goal –Design, implement, and test systems that process natural languages for practical applications

13 Applications speech processing: get flight information or book a hotel over the phone information extraction: discover names of people and events they participate in, from a document machine translation: translate a document from one human language into another question answering: find answers to natural language questions in a text collection or database summarization: generate a short biography of Noam Chomsky from one or more news articles

14 General Themes Ambiguity of Language Language as a formal system Rule-based vs. Statistical Methods The need for efficiency

15 Topic Ideas 1.Textual Analysis – readability 2.Plagiarism Detection – candidate selection 3.Intelligent Agents – machine interaction

16 Textual Analysis - Readability Text Input Analyze text & estimate “readability” –Grade level of writing –Consistency of writing –Appropriateness for certain educ. level Output results Research question: How can computer analyze text and measure readability? Opportunities for hands-out research

17 Plagiarism Detection Text Input Analyze text & locate “candidates” –Find one or more passages that might be plagiarized –Algorithm tries to do what a teacher does –Search on Internet for candidate matches Output results Research question: What algorithms work like humans when finding plagiarism? Experimental CS research

18 Intelligent Agents Example: ELIZA AIML: Artificial Intelligence Modeling Lang. Human types something Computer parses, “understands”, and generates response Response is viewed by human Research question: How can computers “understand” and “generate” human writing? Also good area for experimentation


Download ppt "Research Topics CSC 3990. Parallel Computing & Compilers CSC 3990."

Similar presentations


Ads by Google