ࡱ> rtqx PbjbjT~T~ GT662  8SdTtU p{{{{D$TTTTTTTWYT9T{{4.U{{TTMR{+YȬ[O4TDU0tUO(BZdBZhRRBZRTTtUBZ : Omnibus* Course Syllabus School of Letters, Arts, and Sciences multi-threaded programs in Java. Department: Mathematical and Computer Sciences Instructor: Aaron Gordon Prefix and Course Number: CS 390 Semester/year offered: Spring 12 Banner Number (for Academic Affairs use):__________________________ (Students registering after Census date will be ineligible for the COF stipend and must pay the full tuition for the omnibus course. Please see COF-FAQ for details regarding registration deadlines:  HYPERLINK "http://www.mscd.edu/news/cof/cof_faq.htm" http://www.mscd.edu/news/cof/cof_faq.htm) Course Title: Parallel and Multi-Core Programming Credit Hours: 4 (4 + 0) Total Contact Hours per semester (assuming 15-16 week semester): Lecture 60 Lab 0 Internship 0 Practicum 0 Other (specify type and hours): 0 Meeting Times/Dates: TR 10:00 11:50 Grading Mode(s): L Schedule Type(s): L Prerequisites: CS 2050 with grade of C or better, or permission of instructor Corequisites:  FORMTEXT       Banner Enforced: Prerequisite(s): CS 2050 Corequisite(s):  FORMTEXT       Prerequisite(s) or Corequisite(s):  FORMTEXT       Course Description: A computer used to have one CPU and could run one thread of execution at a time. In the last few years, computers have been built with multiple cores (multiple CPUs) with some computers using hyper-threading (this is where a core can run more than one thread at a time). Currently, a high-end consumer computer can be found with 12 hyper-threaded cores, having the capability of executing 24 threads simultaneously. This course will focus on writing programs that make use of multiple cores. We will investigate parallel programming concepts and we will write programs using 3 - 5 different technologies that allow programmers to build programs to make use of multiple cores. Required Reading Materials : The textbook will be similar to: Lin, C. and Snyder, L. (2009), Principles of Parallel Programming, Addison-Wesley, Boston, MA. Evaluation of Student Performance: 6 programming assignments 2 tests 1 writing assignment Final exam Specific Measurable Student Behavioral Learning Objectives: Upon completion of the course the student should be able to Write multi-threaded programs in Java. multi-core programs in openMP using parallel-for, sections, reductions. multi-core programs using Threaded Building Blocks including control structures such as parallel-for, sections, parallel reduce and concurrent data structures including hash_map, vector, queue. multicore programs using Array Building Blocks including dense containers, nested containers, reductions, scans. Time a programs execution time. Demonstrate an understanding of the concepts of parallel programming incorporating parallel operations including reduce and scan. communication models including shared memory and message passing. parallel-programming architectural issues including cache issues and communication overhead parallel-programming performance issues including Amdahls Law, latency and throughput, dependencies, speedup measurement. Detailed outline of course content (major topics and subtopics) please see note below: Overview of Parallel and Multi-core Programming Models of Parallel Programming Shared Memory Program structure Architectural issues Cache structure Hyper-threading issues Message Passing Processor topologies Communication overhead Performance Issues Percent of program that is parallelizable Amdahls law Communication Overhead A. Restructuring overhead Measuring Performance Theoretical speedup Measuring actual speedup Parallel-Programming-Language Constructs Parallel scan Parallel reduce Parallel data structures containers parallel queue parallel hash map parallel vector Using Parallel Programming Languages and Packages Java Threads OpenMP (in C) Threaded Building Blocks (in C) Array Building Blocks (in C) Other Technologies and Future Directions Grid Computing Graphics-card Computing OpenCL Grand Central Dispatch MPI Excerpt from METROPOLITAN STATE COLLEGE of DENVER GUIDELINES FOR THE PROTECTION OF HUMAN SUBJECTS Available in full on the MSCD web site:  HYPERLINK "http://clem.mscd.edu/~forrestj/HSRC%20Docs/The%20Policy.doc" http://clem.mscd.edu/~forrestj/HSRC%20Docs/The%20Policy.doc Research Projects Conducted in Research Classes. Developmental and institutional guidelines for confidentiality and research with human subjects will be taught in depth as a part of course requirements for research classes. Students will be required to develop their own informed consent forms or to use forms developed by faculty members which conform to College guidelines and Department policy (see link above). All student projects will be reviewed and approved by faculty prior to recruiting subjects. (See Example 3 consent form at this link:  HYPERLINK "http://clem.mscd.edu/~forrestj/HSRC.htm" http://clem.mscd.edu/~forrestj/HSRC.htm ). *** This required course content MUST be part of the Detailed outline of course content section of the omnibus course syllabus OR a statement must be attached that clearly states how the proper procedures have been followed by the course instructor and/or the student. The Associate VP for Academic Affairs cannot sign an omnibus syllabus that appears to involve human subjects and/or personal data unless this information is provided.  note: If the omnibus course includes student and/or course instructor research that involves (1) interviewing subjects and/or (2) handling personal data and/or (3) topics which could be viewed as sensitive (e.g., personal political views, health data, sexuality, etc.), then approval by the Office of Academic Affairs will require assurance that the guidelines described at the end of this document have been followed.     Metropolitan State College of Denver Office of Academic Affairs Form rev. 1/09 Approved - Omnibus course: _________________________________________________________ __________________ Department Chair OR Program Director Date _________________________________________________________ __________________ Dean OR Associate Dean of School Date _________________________________________________________ __________________ Office of Academic Affairs Designee Date Approved - Field Experience/Internship Only: ______________________________________________________________________________ Location of Internship _________________________________________________________ __________________ Faculty Evaluation Group Date _________________________________________________________ __________________ Field Supervisor** Date **Approval by the Field Supervisor is required and must be indicated by the original signature of that supervisor on the syllabus. *Guidelines as set forth in Section V. F. of the #$?@`abhklo : ; ƽƑЊЃzЃsЃhh*hdvCJaJ h4+>*aJh@whn+aJ h/>*aJ hp>*aJh hVZ.5aJh@wh ! >*aJhph"~ZaJh"~Zh"~ZaJ htUaJh^ h ! aJh h ! 5aJh@wh ! aJh^ h_I5;CJ aJ hp(5;CJ aJ h^ h ! 5;CJ aJ $ab: e o5 _0h8p @ xHP X !(#$`'gdo: _0h8p @ xHP X !(#$`'dgd# dgd#xxgd;:gd$a$ ; a j    6 8 9 : b c d e q s ȼȱȟȇ}tmd]VPJ h/CJ hoCJ ho5CJ h ! >*aJh@whn+aJ h/>*aJh@wh ! aJh h ! 5aJh;:h ! CJaJh\h;:0JCJaJ#jh\h;:CJUaJh;:h;:CJaJjh;:CJUaJh;:CJaJhdvCJaJhQFCJaJh7CJaJh*hdvCJaJhp(hdv5CJaJ     % & F G H I K ^ ` p q Ļ~jh@whV 6>*UaJh@whV 6aJ hV 6aJ h ! >*aJ hV>*aJ h/>*aJh h ! 5aJh@wh ! aJh6Kho>*CJ ho>*CJ hA8w>*CJ h/>*CJhGgLho5CJ ho5CJ hoCJ hVCJ0 I K q r  < n ( * R RS^gd'}gd0S `'`gdM `'gdM gdV 65 _0h8p @ xHP X !(#$`'gdo     ^ l     $ & ( Թ~wqe^Oe>ew!jhM >*CJUmHnHujhM >*CJU hM >*CJjhM >*CJU hM CJ hM 5CJ"jhM hM >*UaJhM hM >*aJjhM hM >*UaJ hp>*aJhM hM aJ hV 6>*aJ'jh@whV 6>*UaJmHnHujh@whV 6>*UaJ"jh@whV 6>*UaJh@whV 6>*aJ( * P R X QSnq./67KMWXa~uulllluf hC}aJhph/aJh@wh ! aJ h'}aJh'}h'}aJ hV6aJh'}h'}6aJ hpaJhVhVaJ h0S5aJ h'}5aJ hVaJh@wh.aJh@wh0SaJh_5\aJh%5\aJhV5\aJ hM aJ h0SaJ h ! aJ%/7LWX?rW./0gd_ & F 8gdp & F 8gdp & Fgdpgd~ & Fgdpgd'}abk    ')1=>?DESZqryyphphPaJhphaJhphhaJhphraJhphL aJhphVaJhphaJhphpaJhph~aJ hpaJ h~aJ hVaJ h ! aJh@wh ! aJhC}h ! 56\]aJhC}hC}56\]aJ,/09:@JKL]_ikpqrswx 35AFUVW   ,-./ľĵĵֵ֬嬵hphYaJhph"aJ h~aJhphL aJhph_aJ hpaJhphNVaJhphhaJhphPaJhph~aJC/or FQ[jhixr])h''h''56CJOJQJ\^JaJ hLaJhphP CJ\aJhphCJ\aJhphL CJ\aJhphM[RCJ\aJhphYCJ\aJhph;lCJ\aJhphL aJ h ! aJ haJ#jhkXh0J:H*UaJhD`hD`:aJ hD`aJh@wh ! aJ 06F[r & F -DM gdL  & F -DM gdL  & F -DM gdL  & F -DM gdL  & F -DM gdL #$d%d&d'dNOPQ )Bky & F-DM gdL  & F-DM gdL  & F-DM gdL  & F -DM gdL -DM gdY & F -DM gdY & F-DM gdL +Kh? $xa$gd+ $xa$gd'' -DM gdL  & F-DM gdL  & F -DM gdY & F-DM gdL ?QSfghu 画vkb[V[RJBhh6hh+6h+ h+>* h+h+h0hl0Jh0hl0JaJj{h0hlUaJ h+hl hlaJjhlUaJ h~!aJ h+6aJh+h~!6aJ h|:5CJOJQJ\^JaJ)h|:h~!56CJOJQJ\^JaJ)h|:h|:56CJOJQJ\^JaJ h~!5CJOJQJ\^JaJ?|2i`^\\\h]hgd&$d%d&d'dNOPQgd~!(x$d%d&d'dNOPQgd^); $Xa$gdv8X1$]v^8gd+$x$d%d&d'dNOPQa$gd|:  %LNOPwxy{|2348ٷudZPh^jh:aJhkXhH*aJ jhkXh0JH*UaJh^);h^);5:aJh^);5:aJ hkX5aJh^);h''5aJh^);h5aJh^);hl5aJh''h|:h|h0J6jh|h6Uhh6jh6U h6hh|:6hh+6h+h8;CDE  0 ? @ Z )!+!!!;#^#i####PxvUhp(hCJaJ h>*CJ hCJhy{h5CJh||h5CJ h56h/rhCJaJh=ih6aJh^ h;jhmUhmh5CJaJhCJaJh^);h5CJaJh^);hCJaJh- 0 ? @ [ -hdh$d%d&d'dNOPQ]hgdlgd/r$a$gd^ [ \ $!O!!!!!G"^"""#;#&$d%d&d'dNOPQgdl)dh$d%d&d'dNOPQgdl&$d%d&d'dNOPQgdl;###PPPP&$d%d&d'dNOPQgd~!)$$d%d&d'dNOPQa$gdl&$d%d&d'dNOPQgdlMSCD Curriculum Guidelines, Policies and Procedures must be followed. A copy of the omnibus course syllabus must be on file in the Office of Academic Affairs prior to the listing of the course in any semester schedule. P4PPPPPPh^);h^);5:aJhmhhp(hCJaJhp(h56CJaJE 000P:poBP/ =!"#$%v DpDyK )http://www.mscd.edu/news/cof/cof_faq.htmyK Rhttp://www.mscd.edu/news/cof/cof_faq.htmvDText14vDText19vDText19]DyK <http://clem.mscd.edu/~forrestj/HSRC%20Docs/The%20Policy.docyK phttp://clem.mscd.edu/~forrestj/HSRC Docs/The Policy.docDyK (http://clem.mscd.edu/~forrestj/HSRC.htmyK Phttp://clem.mscd.edu/~forrestj/HSRC.htm^ 2 0@P`p2( 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p8XV~_HmH nH sH tH D`D +Normal1$CJ_HhmH sH tH DA`D Default Paragraph FontViV  Table Normal :V 44 la (k (No List <&@< Footnote Reference4@4 Header  !4 @4 Footer  !H"H VZ. Balloon TextCJOJQJ^JaJ.)1. VZ. Page Number6U`A6 ;: Hyperlink >*B*phHZ@RH ~! Plain Text1$CJOJQJ^Jh:@b: P Footnote TextCJFV qF lFollowedHyperlink >*B* phPK![Content_Types].xmlj0Eжr(΢Iw},-j4 wP-t#bΙ{UTU^hd}㨫)*1P' ^W0)T9<l#$yi};~@(Hu* Dנz/0ǰ $ X3aZ,D0j~3߶b~i>3\`?/[G\!-Rk.sԻ..a濭?PK!֧6 _rels/.relsj0 }Q%v/C/}(h"O = C?hv=Ʌ%[xp{۵_Pѣ<1H0ORBdJE4b$q_6LR7`0̞O,En7Lib/SeеPK!kytheme/theme/themeManager.xml M @}w7c(EbˮCAǠҟ7՛K Y, e.|,H,lxɴIsQ}#Ր ֵ+!,^$j=GW)E+& 8PK!Ptheme/theme/theme1.xmlYOo6w toc'vuر-MniP@I}úama[إ4:lЯGRX^6؊>$ !)O^rC$y@/yH*񄴽)޵߻UDb`}"qۋJחX^)I`nEp)liV[]1M<OP6r=zgbIguSebORD۫qu gZo~ٺlAplxpT0+[}`jzAV2Fi@qv֬5\|ʜ̭NleXdsjcs7f W+Ն7`g ȘJj|h(KD- dXiJ؇(x$( :;˹! I_TS 1?E??ZBΪmU/?~xY'y5g&΋/ɋ>GMGeD3Vq%'#q$8K)fw9:ĵ x}rxwr:\TZaG*y8IjbRc|XŻǿI u3KGnD1NIBs RuK>V.EL+M2#'fi ~V vl{u8zH *:(W☕ ~JTe\O*tHGHY}KNP*ݾ˦TѼ9/#A7qZ$*c?qUnwN%Oi4 =3ڗP 1Pm \\9Mؓ2aD];Yt\[x]}Wr|]g- eW )6-rCSj id DЇAΜIqbJ#x꺃 6k#ASh&ʌt(Q%p%m&]caSl=X\P1Mh9MVdDAaVB[݈fJíP|8 քAV^f Hn- "d>znNJ ة>b&2vKyϼD:,AGm\nziÙ.uχYC6OMf3or$5NHT[XF64T,ќM0E)`#5XY`פ;%1U٥m;R>QD DcpU'&LE/pm%]8firS4d 7y\`JnίI R3U~7+׸#m qBiDi*L69mY&iHE=(K&N!V.KeLDĕ{D vEꦚdeNƟe(MN9ߜR6&3(a/DUz<{ˊYȳV)9Z[4^n5!J?Q3eBoCM m<.vpIYfZY_p[=al-Y}Nc͙ŋ4vfavl'SA8|*u{-ߟ0%M07%<ҍPK! ѐ'theme/theme/_rels/themeManager.xml.relsM 0wooӺ&݈Э5 6?$Q ,.aic21h:qm@RN;d`o7gK(M&$R(.1r'JЊT8V"AȻHu}|$b{P8g/]QAsم(#L[PK-![Content_Types].xmlPK-!֧6 +_rels/.relsPK-!kytheme/theme/themeManager.xmlPK-!Ptheme/theme/theme1.xmlPK-! ѐ' theme/theme/_rels/themeManager.xml.relsPK] T d; ( a/8PP "#) 0?[ ;#P!$%&9b HTZgOwXFFFXX@  @H 0(  0(  B S  ? _Hlt130274387 _Hlt130274388 _Hlt130274175 _Hlt130274176 _Hlt130262307 _Hlt130262308 _Hlt130274270 _Hlt130274271KK]]@@@@@@@@LL^^   #2`',do ? I   " DI2333333333333$`r s o o 1Nt2n d&X DXV{d K1omA>:DI)m$6:.%Frq2>5f':Q$?Ё\{C ]MNG"H$w.sSMkPNb HG`VT[j^:L? bN.Vwe@\DCoj{RI ^`OJQJo( 8^8`OJQJo( ^`OJQJo(o  p^ `OJQJo(  @ ^ `OJQJo( x^x`OJQJo( H^H`OJQJo(o ^`OJQJo( ^`OJQJo(^`o(. p^p`hH. @ L^@ `LhH. ^`hH. ^`hH. L^`LhH. ^`hH. P^P`hH.  L^ `LhH.0^`0o() ^`hH.  L^ `LhH.  ^ `hH. x^x`hH. HL^H`LhH. ^`hH. ^`hH. L^`LhH.^`o(. ^`hH. pL^p`LhH. @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PL^P`LhH.8^8`o(. ^`hH.  L^ `LhH.  ^ `hH. x^x`hH. HL^H`LhH. ^`hH. ^`hH. L^`LhH.^`o() ^`hH. pL^p`LhH. @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PL^P`LhH.^`o(. p^p`hH. @ L^@ `LhH. ^`hH. ^`hH. L^`LhH. ^`hH. P^P`hH.  L^ `LhH.80^8`0o(. ^`hH. pL^p`LhH. @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PL^P`LhH.8^8`o(. ^`hH.  L^ `LhH.  ^ `hH. x^x`hH. HL^H`LhH. ^`hH. ^`hH. L^`LhH.p0^p`0o()  ^ `hH.  L^ `LhH. x^x`hH. H^H`hH. L^`LhH. ^`hH. ^`hH. L^`LhH.0^`0o() ^`hH.  L^ `LhH.  ^ `hH. x^x`hH. HL^H`LhH. ^`hH. ^`hH. L^`LhH.^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`.^`o(.  ^ `hH.  L^ `LhH. x^x`hH. H^H`hH. L^`LhH. ^`hH. ^`hH. L^`LhH.80^8`0o(. ^`hH. pL^p`LhH. @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PL^P`LhH.0^`0o() ^`hH.  L^ `LhH.  ^ `hH. x^x`hH. HL^H`LhH. ^`hH. ^`hH. L^`LhH.^`o(. p^p`hH. @ L^@ `LhH. ^`hH. ^`hH. L^`LhH. ^`hH. P^P`hH.  L^ `LhH.^`o(. p^p`hH. @ L^@ `LhH. ^`hH. ^`hH. L^`LhH. ^`hH. P^P`hH.  L^ `LhH.^`o(. p^p`hH. @ L^@ `LhH. ^`hH. ^`hH. L^`LhH. ^`hH. P^P`hH.  L^ `LhH. 0^ `0o(. @ ^@ `hH. L^`LhH. ^`hH. ^`hH. L^`LhH. P^P`hH.  ^ `hH. L^`LhH.0^`0o() ^`hH.  L^ `LhH.  ^ `hH. x^x`hH. HL^H`LhH. ^`hH. ^`hH. L^`LhH.^`o(. p^p`hH. @ L^@ `LhH. ^`hH. ^`hH. L^`LhH. ^`hH. P^P`hH.  L^ `LhH.^`o(.  ^ `hH.  L^ `LhH. x^x`hH. H^H`hH. L^`LhH. ^`hH. ^`hH. L^`LhH.^`o(. ^`hH. pL^p`LhH. @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PL^P`LhH.$?MNGomAX ? b"H':.%PN\{CDCo[j^`VVwen >5sSMI)m$j{V{q2K        ،                 j                  $K        ްr        j        4ދ        6_:        6w                (}6E        &.        |U        V        ~        2        HRm        9                  /~JM+%|:/r^ L ! Z.Me5_,2'},~!#t#|#m%J&''^'4+n+VZ.O/V 6;^); R>C ?QFPG8J:K0MM[R|kT}WY"~Z>@eg=itFi;lbQoUtogqsztdvA8w@wy5yczy{QptU#VNVD`T7_IholM +}l7(WaNmrG^P.'p(9"q<;:HLC}a ^jJ*(||[@/V]l P 0SkXdzG~<924@48@8 8@8@UnknownG* Times New Roman5Symbol3. * Arial5. *aTahoma?= * Courier New;WingdingsA BCambria Math# h(FlFPF )  &)  &! ((k2Q HX? ! 2!xxCIP Code:______________Charlotte Bakerreedmah                  Oh+'0  4 @ L Xdlt|CIP Code:______________Charlotte BakerNormalreedma7Microsoft Office Word@@HBw@@У@`) ՜.+,D՜.+,H hp  MSCD& ( CIP Code:______________ Title 8@ _PID_HLINKSA1>(http://clem.mscd.edu/~forrestj/HSRC.htm"w 8http://clem.mscd.edu/~forrestj/HSRC Docs/The Policy.doc*D)http://www.mscd.edu/news/cof/cof_faq.htm  !"#$%&'()*,-./012456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`bcdefghjklmnopsvyw{|}~Root Entry FuData +1Table3ZWordDocumentGTSummaryInformation(aDocumentSummaryInformation8iCompObjyMsoDataStore3   F'Microsoft Office Word 97-2003 Document MSWordDocWord.Document.89qDocumentLibraryFormDocumentLibraryFormDocumentLibraryForm This value indicates the number of saves or revisions. The application is responsible for updating this value after each revision.