Slide 1

Slide 1 text

LLNL-PRES-796969 This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under contract DE- AC52-07NA27344. Lawrence Livermore National Security, LLC Software Engineering 101: I have some code! … Now what? Computing 101 Ian Lee [email protected] 2019-11-12

Slide 2

Slide 2 text

2 LLNL-PRES-796969 § Computer Engineer — June 2010 – June 2012, Engineering — June 2012 – Nov 2015, Global Security — Nov 2015 – Present, Livermore Computing • Nov 2016 – Present, Cyber Assessment Coordinator • Apr 2018 – Present, Computing AOISSO § ISCP: Software Sustainability and Outreach — GitHub.com/LLNL — software.llnl.gov — dev.llnl.gov § Atlassian.llnl.gov Who Am I ?

Slide 3

Slide 3 text

3 LLNL-PRES-796969 All the Operating Systems!

Slide 4

Slide 4 text

4 LLNL-PRES-796969 All the Editors!

Slide 5

Slide 5 text

5 LLNL-PRES-796969 All the Languages!

Slide 6

Slide 6 text

6 LLNL-PRES-796969 Means All Package Managers!

Slide 7

Slide 7 text

7 LLNL-PRES-796969 Software Technologies lay the foundation for ECP simulations OpenMPI MPICH Kokkos RAJA Spack Filesystems & I/O Resource Managers Parallel Programming Models MFEM CHOMBO Meshing / Finite Elements Scientific Visualization Packaging/Build Parallel Solvers

Slide 8

Slide 8 text

8 LLNL-PRES-796969 What is version control? http://smutch.github.io/VersionControlTutorial/

Slide 9

Slide 9 text

9 LLNL-PRES-796969 Version Control Tools GNU RCS

Slide 10

Slide 10 text

10 LLNL-PRES-796969 Fear of Git If that doesn't fix it, git.txt contains the phone number of a friend of mine who understands git. Just wait through a few minutes of 'It's really pretty simple, just think of branches as...' and eventually you'll learn the commands that will fix everything. https://xkcd.com/1597/

Slide 11

Slide 11 text

11 LLNL-PRES-796969 Good Commit Messages Merge branch 'asdfasjkfdlas/alkdjf' into sdkjfls-final https://xkcd.com/1296/

Slide 12

Slide 12 text

12 LLNL-PRES-796969

Slide 13

Slide 13 text

13 LLNL-PRES-796969 LC GitLab (Pilot) + In the works!

Slide 14

Slide 14 text

14 LLNL-PRES-796969 New Logo!

Slide 15

Slide 15 text

15 LLNL-PRES-796969 Science & Technology Review – Jan/Feb 2018 “Our large collection of software is a precious Laboratory asset, one that benefits both Lawrence Livermore, and in many cases, the public at large.” - Bruce Hendrickson Associate Director, Computation https://str.llnl.gov/2018-01/comjan18

Slide 16

Slide 16 text

16 LLNL-PRES-796969 2019 R&D 100 Award Winners

Slide 17

Slide 17 text

17 LLNL-PRES-796969 https://software.llnl.gov

Slide 18

Slide 18 text

18 LLNL-PRES-796969 LLNL Open Source Presence https://software.llnl.gov/explore

Slide 19

Slide 19 text

19 LLNL-PRES-796969 LLNL Open Source Engagement https://software.llnl.gov/explore

Slide 20

Slide 20 text

20 LLNL-PRES-796969 LLNL Open Source Activities https://software.llnl.gov/explore

Slide 21

Slide 21 text

21 LLNL-PRES-796969 LLNL Open Source Languages and Topics https://software.llnl.gov/explore

Slide 22

Slide 22 text

22 LLNL-PRES-796969 § Approach: — Focus on achieving competency in Sphinx+RtD — Create a training curriculum — Work with mentors who will advise, provide iterative feedback, and help integrate an editorial process into the OSS development workflow § Goals: — Successfully build and update documentation via Sphinx+RtD for a real repo — Publish “best practices” and “getting started” documentation on the OSS portal — Establish a path forward for ongoing FY20 support, training of other editors, learning additional platforms (e.g., Doxygen), etc. Idea Days Funding ($9K) – Holly Auten Integrating an Editorial Process into OSS Development Holly is looking for a repo(s) with existing documentation to practice on!

Slide 23

Slide 23 text

23 LLNL-PRES-796969 https://twitter.com/LLNL_OpenSource

Slide 24

Slide 24 text

24 LLNL-PRES-796969 Pull Requests Welcome! https://dev.llnl.gov

Slide 25

Slide 25 text

25 LLNL-PRES-796969 New Open Source Policy & Guidelines (May 2019) § Releasing — eSoftware: https://esw.llnl.gov • No more DVDs! • Getting ready for phase 2 development — Expedited Approvals • Specific broad subject areas • Not an “application” that could have IP value • Not part of a CRADA or other IP agreement • Sponsor provided blanket approval for OSS – Currently: NNSA ASC & DOE Office of Science • Approved open source license – MIT, BSD-3, LGPL-2.1, GPL-2.0 are easiest § Contributing — Email to: [email protected] — Provide details about the project: • Unclassified? Export Controlled? • Funding source (sponsor) OK with open source? • Approved License? • Requires a CLA? • Conflict of Interest? • Business need? • Contributions are “incremental” ?

Slide 26

Slide 26 text

26 LLNL-PRES-796969 In the works! https://llnl.slack.com

Slide 27

Slide 27 text

Disclaimer This document was prepared as an account of work sponsored by an agency of the United States government. Neither the United States government nor Lawrence Livermore National Security, LLC, nor any of their employees makes any warranty, expressed or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States government or Lawrence Livermore National Security, LLC. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States government or Lawrence Livermore National Security, LLC, and shall not be used for advertising or product endorsement purposes. Leave things better than you found them. Thank You! [email protected]