Performance of Physics-Driven Procedural Animation of Character Locomotion for Bipedal and Quadrupedal Gait

Total Page:16

File Type:pdf, Size:1020Kb

Performance of Physics-Driven Procedural Animation of Character Locomotion for Bipedal and Quadrupedal Gait Thesis no: MECS-2015-03 Performance of Physics-Driven Procedural Animation of Character Locomotion For Bipedal and Quadrupedal Gait Jarl Larsson Faculty of Computing Blekinge Institute of Technology SE371 79 Karlskrona, Sweden This thesis is submitted to the Faculty of Computing at Blekinge Institute of Technology in partial fulllment of the requirements for the degree of Master of Science in Engineering: Game and Software Engineering. The thesis is equivalent to 20 weeks of full-time studies. Contact Information: Author: Jarl Larsson E-mail: [email protected] University advisors: Ph.D. Veronica Sundstedt Ph.D. Martin Fredriksson Department of Creative Technologies Faculty of Computing Internet : www.bth.se Blekinge Institute of Technology Phone : +46 455 38 50 00 SE371 79 Karlskrona, Sweden Fax : +46 455 38 50 57 Abstract Context. Animation of character locomotion is an important part of computer animation and games. It is a vital aspect in achieving be- lievable behaviour and articulation for virtual characters. For games there is also often a need for supporting real-time reactive behaviour in an animation as a response to direct or indirect user interaction, which have given rise to procedural solutions to generate animation of locomotion. Objectives. In this thesis the performance aspects for procedurally generating animation of locomotion within real-time constraints is evaluated, for bipeds and quadrupeds, and for simulations of sev- eral characters. A general pose-driven feedback algorithm for physics- driven character locomotion is implemented for this purpose. Methods. The execution time of the locomotion algorithm is evalu- ated using an automated experiment process, in which real-time gait simulations of incrementing character population count are instanti- ated and measured, for the bipedal and quadrupedal gaits. The sim- ulations are measured for both serial and parallel executions of the locomotion algorithm. Results. Simulations of up to and including 100 characters are per- formance measured providing an overview of the slowdown rate when increasing the character count in the simulations, as well as the per- formance relations between bipeds and quadrupeds. Conclusions. The experiment concludes that the evaluated algo- rithm on its own exhibits a relatively small performance impact that scales almost linearly for the evaluated population sizes. Due to the relatively low performance impacts it is thus also concluded that for fu- ture experiments a broader measurement of the locomotion algorithm that includes and compares dierent physics solvers is of interest. Keywords: Procedural animation, Interactive games, Multithread- ing, Software performance i Acknowledgements Warm thanks to my family and friends, near and dear; for all your support and encouragement! Big thanks to my supervisors, Veronica Sundstedt and Martin Fredriksson, for guiding me through this project. Lastly, a special thanks to Michiel van de Panne for the insightful answers to my questions about procedural locomotion. ii Contents Abstracti 1 Introduction1 1.1 Procedural Articulation.......................2 1.2 Procedural Terrestrial Locomotion..................4 1.3 Problem Statement..........................6 1.3.1 Aims and Objectives.....................7 1.4 Research Question..........................8 1.5 Method Introduction.........................8 1.6 Contribution..............................8 1.7 Thesis Outline.............................8 2 Background and Related Work 10 2.1 Locomotion.............................. 11 2.1.1 Believability in Animation.................. 11 2.1.2 Terrestrial Locomotion Terminology............. 11 2.2 Dynamics-Driven Procedural Locomotion.............. 12 2.2.1 Inverted Pendulum Methods................. 14 2.2.2 Muscle-Driven Methods................... 14 2.2.3 Pose-Driven Feedback Methods............... 15 2.3 Parallel Execution of Locomotion Algorithm............ 16 2.4 Performance in Parallel Algorithms................. 16 2.5 Summary............................... 17 3 Implementation 18 3.1 Implemented Algorithm....................... 18 3.1.1 Gait Player.......................... 21 3.1.2 Virtual Forces......................... 21 3.1.3 Leg Frame and Torque Feedback.............. 22 3.1.4 Legs.............................. 23 3.1.5 Gravity Compensation.................... 24 3.1.6 Foot Placement........................ 25 3.1.7 Proportional-Derivative Controllers............. 26 3.2 Constrained Rigid Bodies using BulletPhysics........... 26 iii 3.3 Optimization............................. 26 3.4 Controller Logic............................ 28 3.5 Summary............................... 30 4 Method 32 4.1 Scenarios and Parameters...................... 32 4.2 Technology.............................. 35 4.3 Validity Threats............................ 36 4.4 Summary............................... 37 5 Results 38 5.1 Observations.............................. 38 5.1.1 Measurements......................... 38 6 Analysis 42 6.1 Serial Results Analysis........................ 42 6.2 Parallel Results Analysis....................... 44 6.3 Trends and Relations......................... 44 6.4 Summary............................... 46 7 Conclusions and Future Work 48 7.1 Thesis Summary........................... 48 7.2 Method and Implementation Discussion............... 49 7.3 Conclusions.............................. 50 7.4 Contribution and Comparisons.................... 51 7.5 Future Work.............................. 51 References 53 iv Chapter 1 Introduction Character locomotion is a common subject within the domains of computer ani- mation and games. Locomotion is the description of how propulsive movement is achieved by a body, for animals this translates to the resulting movement pattern of their limbs and frames. Terrestrial animal locomotion, more specically, is the way in which an animal self-propel on land by, for example, walking or running. This kind of locomotion and its subsequent animation is common for characters that moves around in modern computer games. Characters in computer games are often displayed as a collection of connected polygons and vertices, and thus needs some form of high-level abstracted control layer to express motions on a per-leg or per-arm level. Animation of polygon based characters in computer games are thus often realized and simplied by means of morphing [30,35] or skeletal animation [39]. Both are control techniques used to transform the multitude of vertices of a 3D model, frame-by-frame, in order to animate it. Both techniques interpolates between keyframes of animation data. Morphing needs transformed copies of the model for each pose to morph to, while skeletal animation lets the animator control an approximation of the char- acter to be animated. This approximation, a hierarchy of segments, is called a skeleton (it can be likened to the common poseable wooden mannequins used by artists). By approximating the character to be animated, the animator will not have to displace each vertex manually. The segments in the skeleton are referred to as bones. Each bone describes a limb transformation, as a function of time, for the character. Each vertex in the character model belongs to one or several bones (with weighted priorities) and will follow their transformations. Skeletal animation and morphing can be combined in various ways as well, depending on the application. By using a skeleton, one can thus control separate limbs on a character on a high level. Animation of locomotion can then be done on a per-leg basis. Even though skeletal animation might lessen the amount of parameters to con- trol for transforming and animating character geometry, the full range of motions exerted by one character alone can become a lot. A computer game featuring a rich amount of characters with varying skeleton layouts for animation may thus require vast amounts of manual animation work for only various forms of locomo- 1 Chapter 1. Introduction 2 Character Topic Animation Transformation Method Skeletal Morphing Data Generation Method Procedural Keyframed Head & Eye Full Body & Rag Grasping & Articulation Area Locomotion Reactions Dolls Reaching Pose Driven Kinematic & Semi- Musculoskeletal Inverted Procedural Method Feedback procedural/ Dynamics Dynamics Parametric Pendulum Biped & Leggedness Others (spiders, Quadruped insects, etc) Figure 1.1: Flowchart of domains related to the topic of character animation. Represented as an hierarchical structure, the chart is read from top to bottom and visualizes the various ways in which a specic domain can branch. Domains for leaf nodes to the right are not focused upon in this thesis. tion alone [21, 39]. When these game characters are expected to work in a large variety of environments and situations one more or less have to have some form of procedural animation component [46]. Not only to alleviate the animators of an exaggerated amount of manual keyframe animation labour, but also to minimize the memory footprint of the application [39]. Procedural animation solutions can manifest themselves in many dierent forms depending on the problem and platform. Figure 1.1 presents a hierarchical view of various domains within the topic of character animation and how this thesis will present them. Here procedural animation is separated from keyframed animation. The following section (Section 1.1) will introduce the various com- binable ways a character can express itself through motions; its articulations (Figure 1.1), of which one is
Recommended publications
  • Motion Enriching Using Humanoide Captured Motions
    MASTER THESIS: MOTION ENRICHING USING HUMANOIDE CAPTURED MOTIONS STUDENT: SINAN MUTLU ADVISOR : A NTONIO SUSÌN SÀNCHEZ SEPTEMBER, 8TH 2010 COURSE: MASTER IN COMPUTING LSI DEPERTMANT POLYTECNIC UNIVERSITY OF CATALUNYA 1 Abstract Animated humanoid characters are a delight to watch. Nowadays they are extensively used in simulators. In military applications animated characters are used for training soldiers, in medical they are used for studying to detect the problems in the joints of a patient, moreover they can be used for instructing people for an event(such as weather forecasts or giving a lecture in virtual environment). In addition to these environments computer games and 3D animation movies are taking the benefit of animated characters to be more realistic. For all of these mediums motion capture data has a great impact because of its speed and robustness and the ability to capture various motions. Motion capture method can be reused to blend various motion styles. Furthermore we can generate more motions from a single motion data by processing each joint data individually if a motion is cyclic. If the motion is cyclic it is highly probable that each joint is defined by combinations of different signals. On the other hand, irrespective of method selected, creating animation by hand is a time consuming and costly process for people who are working in the art side. For these reasons we can use the databases which are open to everyone such as Computer Graphics Laboratory of Carnegie Mellon University. Creating a new motion from scratch by hand by using some spatial tools (such as 3DS Max, Maya, Natural Motion Endorphin or Blender) or by reusing motion captured data has some difficulties.
    [Show full text]
  • Automated Staging for Virtual Cinematography Amaury Louarn, Marc Christie, Fabrice Lamarche
    Automated Staging for Virtual Cinematography Amaury Louarn, Marc Christie, Fabrice Lamarche To cite this version: Amaury Louarn, Marc Christie, Fabrice Lamarche. Automated Staging for Virtual Cinematography. MIG 2018 - 11th annual conference on Motion, Interaction and Games, Nov 2018, Limassol, Cyprus. pp.1-10, 10.1145/3274247.3274500. hal-01883808 HAL Id: hal-01883808 https://hal.inria.fr/hal-01883808 Submitted on 28 Sep 2018 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Automated Staging for Virtual Cinematography Amaury Louarn Marc Christie Fabrice Lamarche IRISA / INRIA IRISA / INRIA IRISA / INRIA Rennes, France Rennes, France Rennes, France [email protected] [email protected] [email protected] Scene 1: Camera 1, CU on George front screencenter and Marty 3/4 backright screenleft. George and Marty are in chair and near bar. (a) Scene specification (b) Automated placement of camera and characters (c) Resulting shot enforcing the scene specification Figure 1: Automated staging for a simple scene, from a high-level language specification (a) to the resulting shot (c). Our system places both actors and camera in the scene. Three constraints are displayed in (b): Close-up on George (green), George seen from the front (blue), and George screencenter, Marty screenleft (red).
    [Show full text]
  • Lightweight Procedural Animation with Believable Physical Interactions
    Proceedings of the Fourth Artificial Intelligence and Interactive Digital Entertainment Conference Lightweight Procedural Animation with Believable Physical Interactions Ian Horswill Northwestern University, Departments of EECS and Radio/Television/Film 2133 Sheridan Road, Evanston IL 60208 [email protected] Abstract matics system. Posture control is performed by applying I describe a procedural animation system that uses tech- simulated forces and torques to the torso and pelvis. niques from behavior-based robot control, combined with a Interestingly, the use of a dynamic simulation actually minimalist physical simulation, to produce believable cha- simplifies control, allowing the use of relatively crude con- racter motions in a dynamic world. Although less realistic trol signals, which are then smoothed by the passive dy- than motion capture or full biomechanical simulation, the namics of the character body and body-environment inte- system produces compelling, responsive character behavior. raction; similar results have been found in both human and It is also fast, supports believable physical interactions be- robot motor control (Williamson, 2003). tween characters such as hugging, and makes it easy to au- Twig shows that surprisingly simple techniques can gen- thor new behaviors. erate believable2 motions and interactions. Much of the focus of this paper will be on ways in which Twig is able to Overview1 cheat to avoid doing complicated modeling or control, while still maintaining believability. This work is indebted Versatile procedural animation is a necessary component to the work of Jakobsen (Jakobsen, 2001) and Perlin (Per- for applications such as interactive drama, in which charac- lin, 1995, 2003; Perlin & Goldberg, 1996), both for their ters participate in complex interactions that cannot be pre- general approaches of using simple techniques to generate planned at authoring time.
    [Show full text]
  • Inverse Kinematics Last Time? Today Keyframing Procedural Animation Physically-Based Animation
    Last Time? • Navier-Stokes Equations • Conservation of Inverse Kinematics Momentum & Mass • Incompressible Flow Today Keyframing • How do we animate? • Use spline curves to automate the in betweening – Keyframing – Good control – Less tedious than drawing every frame – Procedural Animation • Creating a good animation still requires considerable – Physically-Based Animation skill and talent – Forward and Inverse Kinematics – Motion Capture • Rigid Body Dynamics • Finite Element Method ACM © 1987 “Principles of traditional animation applied to 3D computer animation” Procedural Animation Physically-Based Animation • Describes the motion algorithmically, • Assign physical properties to objects as a function of small number of (masses, forces, inertial properties) parameters • Example: a clock with second, minute • Simulate physics by solving equations and hour hands • Realistic but difficult to control – express the clock motions in terms of a “seconds” variable – the clock is animated by varying the v0 seconds parameter mg • Example: A bouncing ball -kt –Abs(sin(ωt+θ0))*e 1 Articulated Models Skeleton Hierarchy • Articulated models: • Each bone transformation – rigid parts described relative xyzhhhhhh,,,,,qf s – connected by joints to the parent in hips the hierarchy: qfttt,, s • They can be animated by specifying the joint left-leg ... angles as functions of time. r-thigh qc qi qi ()t r-calf y vs qfff, x r-foot z t1 t2 t1 t2 1 DOF: knee 2 DOF: wrist 3 DOF: arm Forward Kinematics Inverse Kinematics (IK) • Given skeleton xyzhhhhhh,,,,,qf
    [Show full text]
  • Procedural Animation
    Procedural Animation Computer Graphics Seminar 2017 Spring Andreas Sepp Coming up today ● Keyframe animation ● Procedural animation for basic character animation ○ Procedural animation with keyframe animation ○ Inverse kinematics ● Procedural animation as a broader field ○ Artificial life animation ○ Physics based modelling and animation Basic keyframe animation ● Animator draws or models the starting and ending points of a transition, called keyframes, and sets their position in time ● The remaining frames inbetween 2 keyframes are interpolated from them ● The animator is in control of everything at every point in time key key key Basic keyframe animation problems ● Transitions in interactive setting ○ Blend walking and running animation? ○ Create a walk ↔ run transition animation? ■ 15 animations - 105 blends required ● Unrealistic movement ○ No proper feedback from the environment ○ Not acceptable anymore Procedural Animation ● a type of computer animation, used to automatically generate animation in real-time to allow for a more diverse series of actions than could otherwise be created using predefined animations ● Animator not in control of everything anymore ● a) Integrated with keyframe animation ○ Roughly follows keyframes ○ Change dynamically ■ e.g. getting hit while running, going up the stairs ● b) Fully procedural animation ○ Initial parameters and some sort of input parameters are provided to control the animation ■ Initial position; forces, torques in time Keyframe + procedural animation ● Dynamic combining of multiple animations ○ Lower body running ○ Upper body swinging a sword ○ Body recoiling to a blow ● What you can achieve with just 14 keyframes and procedural animation: ○ http://www.gamasutra.com/view/news/216973/Video_An_indie_a pproach_to_procedural_animation.php [4:00-10:00] To actually feel connected to the world..
    [Show full text]
  • Slicing (Draft)
    Handling Parallelism in a Concurrency Model Mischael Schill, Sebastian Nanz, and Bertrand Meyer ETH Zurich, Switzerland [email protected] Abstract. Programming models for concurrency are optimized for deal- ing with nondeterminism, for example to handle asynchronously arriving events. To shield the developer from data race errors effectively, such models may prevent shared access to data altogether. However, this re- striction also makes them unsuitable for applications that require data parallelism. We present a library-based approach for permitting parallel access to arrays while preserving the safety guarantees of the original model. When applied to SCOOP, an object-oriented concurrency model, the approach exhibits a negligible performance overhead compared to or- dinary threaded implementations of two parallel benchmark programs. 1 Introduction Writing a multithreaded program can have a variety of very different motiva- tions [1]. Oftentimes, multithreading is a functional requirement: it enables ap- plications to remain responsive to input, for example when using a graphical user interface. Furthermore, it is also an effective program structuring technique that makes it possible to handle nondeterministic events in a modular way; develop- ers take advantage of this fact when designing reactive and event-based systems. In all these cases, multithreading is said to provide concurrency. In contrast to this, the multicore revolution has accentuated the use of multithreading for im- proving performance when executing programs on a multicore machine. In this case, multithreading is said to provide parallelism. Programming models for multithreaded programming generally support ei- ther concurrency or parallelism. For example, the Actor model [2] or Simple Con- current Object-Oriented Programming (SCOOP) [3,4] are typical concurrency models: they are optimized for coordination and event handling, and provide safety guarantees such as absence of data races.
    [Show full text]
  • Assessing Gains from Parallel Computation on a Supercomputer
    Volume 35, Issue 1 Assessing gains from parallel computation on a supercomputer Lilia Maliar Stanford University Abstract We assess gains from parallel computation on Backlight supercomputer. The information transfers are expensive. We find that to make parallel computation efficient, a task per core must be sufficiently large, ranging from few seconds to one minute depending on the number of cores employed. For small problems, the shared memory programming (OpenMP) and a hybrid of shared and distributive memory programming (OpenMP&MPI) leads to a higher efficiency of parallelization than the distributive memory programming (MPI) alone. I acknowledge XSEDE grant TG-ASC120048, and I thank Roberto Gomez, Phillip Blood and Rick Costa, scientific specialists from the Pittsburgh Supercomputing Center, for technical support. I also acknowledge support from the Hoover Institution and Department of Economics at Stanford University, University of Alicante, Ivie, and the Spanish Ministry of Science and Innovation under the grant ECO2012- 36719. I thank the editor, two anonymous referees, and Eric Aldrich, Yongyang Cai, Kenneth L. Judd, Serguei Maliar and Rafael Valero for useful comments. Citation: Lilia Maliar, (2015) ''Assessing gains from parallel computation on a supercomputer'', Economics Bulletin, Volume 35, Issue 1, pages 159-167 Contact: Lilia Maliar - [email protected]. Submitted: September 17, 2014. Published: March 11, 2015. 1 Introduction The speed of processors was steadily growing over the last few decades. However, this growth has a natural limit (because the speed of electricity along the conducting material is limited and because a thickness and length of the conducting material is limited). The recent progress in solving computationally intense problems is related to parallel computation.
    [Show full text]
  • Use Style: Paper Title
    INTERNATIONAL CONFERENCE ON INFORMATICS AND CREATIVE MULTIMEDIA 2013 (ICICM’13) UTM, KUALA LUMPUR. SEPTEMBER 3-6, 2013, pp.104,109, 4-6 Sept. 2013 doi:10.1109/ICICM.2013.25 IEEEXplore Expression driven Trignometric based Procedural Animation of Quadrupeds Zeeshan Bhatti, Asadullah Shah, Mustafa Karabasi and Waheed Mahesar Khulliyyah of Information and Communication Technology International Islamic University Malaysia, Kuala Lumpur e-mail: [email protected], [email protected], [email protected], [email protected] Abstract— This research paper addresses the problem of riggers need [3]. So a character animator normally ends up generating involuntary and precise animation of quadrupeds building a custom skeletal rig for the ease of animation with automatic rigging system of various character types. The [3][4]. The process is also known as Character Rigging. We technique proposed through this research is based on a two have used MAYA as the basic development and simulation tier animation control curve with base simulation being driven tool with motion equations implemented as Maya Embedded through dynamic mathematical model using procedural Language (MEL) code written as expressions that gets algorithm and the top layer with a custom user controlled executed at every frame controlling and driving the various animation provided with intuitive Graphical User Interface body part of the character rig. (GUI). The character rig is based on forward and inverse kinematics driven through trigonometric based motion II. LITERATURE REVIEW equations. The User is provided with various manipulators and Quadruped motion has always been an integral part of attributes to control and handle the locomotion gaits of the characters and choose between various types of simulated character animation and simulation.
    [Show full text]
  • Instruction Level Parallelism Example
    Instruction Level Parallelism Example Is Jule peaty or weak-minded when highlighting some heckles foreground thenceforth? Homoerotic and commendatory Shelby still pinks his pronephros inly. Overneat Kermit never beams so quaveringly or fecundated any academicians effectively. Summary of parallelism create readable and as with a bit says if we currently being considered to resolve these two machine of a pretty cool explanation. Once plug, it book the parallel grammatical structure which creates a truly memorable phrase. In order to accomplish whereas, a hybrid approach is designed to whatever advantage of streaming SIMD instructions for each faction the awful that executes in parallel on independent cores. For the ILPA, there is one more type of instruction possible, which is the special instruction type for the dedicated hardware units. Advantages and high for example? Two which is already present data is, to process includes comprehensive career related services that instruction level parallelism example how many diverse influences on. Simple uses of parallelism create readable and understandable passages. Also note that a data dependent elements that has to be imported from another core in another processor is much higher than either of the previous two costs. Why the charge of the proton does not transfer to the neutron in the nuclei? The OPENMP code is implemented in advance way leaving each thread can climb up an element from first vector and compare after all the elements in you second vector and forth thread will appear able to execute simultaneously in parallel. To be ready to instruction level parallelism in this allows enormous reduction in memory.
    [Show full text]
  • Animation De Personnages 3D Par Le Sketching 2D Martin Guay
    Animation de personnages 3D par le sketching 2D Martin Guay To cite this version: Martin Guay. Animation de personnages 3D par le sketching 2D. Mathématiques générales [math.GM]. Université Grenoble Alpes, 2015. Français. NNT : 2015GREAM016. tel-01178839 HAL Id: tel-01178839 https://tel.archives-ouvertes.fr/tel-01178839 Submitted on 22 Dec 2015 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. THÈSE Pour obtenir le grade de DOCTEUR DE L’UNIVERSITÉ DE GRENOBLE Spécialité : Mathématiques-Informatique Arrêté ministériel : 7 août 2006 Présentée par Martin Guay Thèse dirigée par Marie-Paule Cani & Rémi Ronfard préparée au sein du Laboratoire Jean Kuntzmann (LJK) et de l’École doctorale EDMSTII Sketching free-form poses and movements for expressive character animation Thèse soutenue publiquement le 2 juillet 2015, devant le jury composé de : Michiel van de Panne Professor, University of British Columbia, Rapporteur Robert W. Sumner Adjunct Professor, ETH Zurich & Director, Disney Research Zurich, Rapporteur Marie-Paule Cani Professeure, Grenoble INP, Directrice de thèse Rémi Ronfard Chargé de recherche, INRIA, Co-Directeur de thèse Frank Multon Professeur, Université Rennes 2, Examinateur Paul Kry Professor, McGill University, Examinateur Joëlle Thollot Prefesseure, Grenoble INP, Présidente 2 Abstract Free-form animation allows for exaggerated and artistic styles of motions such as stretch- ing character limbs and animating imaginary creatures such as dragons.
    [Show full text]
  • Minimizing Startup Costs for Performance-Critical Threading
    Minimizing Startup Costs for Performance-Critical Threading Anthony M. Castaldo R. Clint Whaley Department of Computer Science Department of Computer Science University of Texas at San Antonio University of Texas at San Antonio San Antonio, TX 78249 San Antonio, TX 78249 Email : [email protected] Email : [email protected] Abstract—Using the well-known ATLAS and LAPACK dense on several eight core systems running a standard Linux OS, linear algebra libraries, we demonstrate that the parallel manage- ATLAS produced alarmingly poor parallel performance even ment overhead (PMO) can grow with problem size on even stati- on compute bound, highly parallelizable problems such as cally scheduled parallel programs with minimal task interaction. Therefore, the widely held view that these thread management matrix multiply. issues can be ignored in such computationally intensive libraries is wrong, and leads to substantial slowdown on today’s machines. Dense linear algebra libraries like ATLAS and LAPACK [2] We survey several methods for reducing this overhead, the are almost ideal targets for parallelism: the problems are best of which we have not seen in the literature. Finally, we regular and often easily decomposed into subproblems of equal demonstrate that by applying these techniques at the kernel level, performance in applications such as LU and QR factorizations complexity, minimizing any need for dynamic task scheduling, can be improved by almost 40% for small problems, and as load balancing or coordination. Many have high data reuse much as 15% for large O(N 3) computations. These techniques and therefore require relatively modest data movement. Until are completely general, and should yield significant speedup in recently, ATLAS achieved good parallel speedup using simple almost any performance-critical operation.
    [Show full text]
  • Introduction and Animation Basics
    Lecture 1: introduction PhD in Computer Science, MIRALab, University of Geneva, 2006-2011 Second post-doc, Institute for Media First post-doc, HCI Group, Innovation, Nanyang Technological EPFL, Lausanne, 2012-2013 University, 2013-2015 (Expressive) Character animation Facial animation Body gestures/emotions Gaze behavior Motion synthesis Multi-character interactions Virtual humans in VR and (Serious) Games Social robots and AI Florian Gaeremynck (GMT Student) [email protected] Ask questions for practical assignments Introduction to basic techniques in Computer Animation ▪ Motion synthesis, facial & body animation, … Introduction to research topics ▪ Giving presentations ▪ Reading and evaluating research papers ▪ Writing an essay about an animation topic Hands-on experience ▪ Short animation movie production or programming exercise Grading: ▪ Research papers (R) ▪ Project (P) ▪ Essay (E) ▪ Final grade = 0.3*R + 0.3*P + 0.4*E ▪ Condition: E >= 5 *Pay attention that R is based on your presentations but also involves paper summaries. You will not a get a separate grade for the summaries but it is part of the overall grade R. Attendance is overall not mandatory, but.. ▪ You are required to attend the lectures with student presentations you wrote a review for. You will send a one A4 page review for each paper. In total, you should have 6 reviews . ▪ Similar to peer-review process of conferences and journals Deadline for submitting these reviews is one day before the lecture until 23:59 You are not limited to 6 papers though, read as much as you can, participate the presentations and ask questions! Note: In all your emails to the teacher or the TA, you must include [INFOMCANIM 2021] in the subject line of your email.
    [Show full text]