HomeНаука и техникаRelated VideosMore From: GoogleTechTalks

Building Science with CMake

55 ratings | 8995 views
Google Tech Talk October 8, 2015 (click "show more" for more info) Presented by Bill Hoffman ABSTRACT Since 1998 Kitware has been developing scientific computing software with a strong focus on reproducibility and testability. Kitware was initially founded to grow and support the open source Visualization Toolkit (VTK). Over the past 17 years developers at Kitware have played a role in important scientific research in HPC & visualization, medical computing, data & analytics and computer vision. Behind all of this work has been an evolving set of tools to build, test, verify and deploy software. The cross-platform build tool CMake originally created for the Insight Toolkit (ITK) has become the most popular build tool for C/C++ in the world. In this talk I will describe the new innovations in the CMake family and give several examples of tools and techniques successfully deployed to advance a wide range of scientific and commercial activities such as Google Project Tango, ParaView, Slicer, VeloView, Netflix, and others. In particular the talk will describe how these tools are used to facilitate continuous testing and tracking of both code quality and algorithm performance in a world of distributed software teams and ever-growing datasets. ABOUT THE SPEAKER Bill Hoffman is a founder of Kitware and currently serves as Vice President and Chief Technical Officer. He is the original author and lead architect of CMake, an open-source, cross-platform build and configuration tool that is used by hundreds of projects around the world and the co-author of the accompanying text, Mastering CMake. Using his 20+ years of experience with large software systems development, Mr. Hoffman is also a major technical contributor to Kitware's Visualization Toolkit, Insight Toolkit and ParaView projects.
Html code for embedding videos on your blog
Text Comments (7)
Ramon Horvath (2 years ago)
Lol "code is the language of science" this statement is wrong on so many levels.
Ramon Horvath (2 years ago)
The original statement claiming that the language of science is mathematics is based on various things. The effective way to communicate scientific findings is done by using mathematical objects. Moreover when we want to do theoretical science we create a mathematical abstraction of the question and by manipulating those abstract entities we can arrive to findings that are testable against "physical reality". All this proved to be an extremely successful method, even though the toolbox called mathematics has nothing to do per se with the concrete scientific questions under consideration. So we can call it an underlying universal structure so to say language. Now, algorithms are part of this realm naturally. Code is an encoding of a special type of algorithm describing the use of a specific type of physical object called computer. You can claim of course that every physical object could be considered a computer but that is not how code in practice is understood. It only carries information if the encoding is known, only a type of code (specific programming language) can be called a language. However important it may be to explicitly cite this code as part of the research report it lacks the general nature of mathematics that is underlying all this including the code itself hence I claim it is not appropriate to call it the language of science. It is just a side note that the complete description of an experiment is a lot more than the ensemble of all computer code in use.
Jan Krämer (2 years ago)
No, I do not think so. Code is just another word for "Algorithm". Every paper should (at heart) have two parts. A description of an algorithm, i.e. a description of what was done in which order on which object. (The object could be physical or data). The second part is the description of the results and its relevance and place in the great scheme of things. So I would say that statement is insufficient as only one part of science is able to be communicated through code. But I would argue that "Code is a necessary language of science".
Lothar Scholz (2 years ago)
Tried it but i'm back to hand written projects on Windows and MacOSX. After setting it up once, it's all about adding source files which is extreme easy to maintain and you immediately see the errors. Main problem with CMake was the bad support for multiple configurations if you need more then Debug, Release, ReleaseDebugInfo. Oh yes and when trying to cmake fltk it crashed and no it wasn't more readable then a makefile.
William Dye (3 years ago)
Good presentation, though I'm surprised at the level of hatred toward TCL. It's OK to dislike a language, but broadly mocking it like that seem unkind to the developers, nearly all of whom donated their time to the experiment. Well, it was still a good presentation. Many thanks to whoever took the time to create accurate closed captions. Captions make it easy to watch a presentation at accelerated speed, so it's greatly appreciated.
Bill Hoffman (3 years ago)
+William Dye Always hard to judge how this things will come out in video. I suppose I should have been kinder and gentler on TCL. Certainly TCL was and is a very useful project. However, I don't think it would have made a good language choice for CMake.
Egidijus Šlepetys (3 years ago)
low audio quality, don't listen to this shit.

Would you like to comment?

Join YouTube for a free account, or sign in if you are already a member.