Presentation is loading. Please wait.

Presentation is loading. Please wait.

NEEDS Berkeley Workshop 2014 NEEDS Compact Model Development Process Michael McLennan Director, HUBzero® Platform for Scientific Collaboration Purdue University.

Similar presentations


Presentation on theme: "NEEDS Berkeley Workshop 2014 NEEDS Compact Model Development Process Michael McLennan Director, HUBzero® Platform for Scientific Collaboration Purdue University."— Presentation transcript:

1 NEEDS Berkeley Workshop 2014 NEEDS Compact Model Development Process Michael McLennan Director, HUBzero® Platform for Scientific Collaboration Purdue University West Lafayette, IN

2 Compact Model Development 2 1.Create a project area 2.Access the Model Development Environment (MDE) 3.Work on your compact model code 4.Questions, Wishes, Tickets 5.Model publication process

3 1. Create a project area 3 Start the “upload” process

4 1. Create a project area 4 Choose “Tools” as the resource type

5 1. Create a project area 5 Short Tool Name: needsqsmmc Title: Quantum Singularity Device Version: 0.1a At a glance: Generates power from a localized distortion of space and time Start all names with “needs”

6 1. Create a project area 6 nanoHUB logins for people who are writing the model code

7 1. Create a project area – done! 7

8 Coming back later… 8

9 2. Access the Model Dev Env (MDE) 9 https://nanohub.org/tools/mde

10 2. Access the Model Dev Env (MDE) 10 system(‘svn checkout https://nanohub.org/tools/needsqsmmc/svn/trunk needsqsmmc’) Your model name goes here

11 Client/Server model: Subversion repository Server (nanoHUB.org) Clients Using Subversion to Manage Code svn = Subversion Created by developers at CollabNet In development since 2000 Open source (Apache/BSD-style license) Unix/Linux, Win32, MacOS X Upload: add/commit Download: checkout 11

12 working x1 x2 Why bother with Subversion? Does this sound familiar? NCSA carter test CPU: 420sCPU: 340s v1 = 3.125 v2 = 9.987 v1 = 3.125 v2 = 9.987 x2 output v1 = 3.12498 v2 = 9.9901 v1 = 3.12498 v2 = 9.9901 x3.1a output x2 x2.1 x2.2 x2 x3 x3.1 ? 12

13 Top 5: Why you should use Subversion It’s easy to learn A little simpler than Git You’ll feel more secure SSL transport between client/server; repository is backed up Where did I put that… It’s in the repository Who broke the build? Look at the revision history Your hard drive just died No problem, your code is in the repository Subversion repository SSL carter NCSA 13

14 A few simple commands 14 svn checkout https://nanohub.org/tools/ needsqsmmc/svn/trunk needsqsmmc cd needsqsmmc svn delete middleware svn delete rappture cp mymodel.m src svn add src/mymodel.m svn commit

15 Whoever checks in first has no problem Next “svn update” integrates compatible changes Merging changes CC=gcc all: $(CC) -O hello.c CC=gcc all: $(CC) -O hello.c svn commit edit: Makefile all: gcc –O hello.c clean: rm –f *.o a.out all: gcc –O hello.c clean: rm –f *.o a.out 15

16 Merging changes Whoever checks in first has no problem Next “svn update” integrates compatible changes Use “svn commit” to commit the merged changes svn update edit: Makefile all: gcc –O hello.c clean: rm –f *.o a.out all: gcc –O hello.c clean: rm –f *.o a.out CC=gcc all: $(CC) -O hello.c clean: rm –f *.o a.out CC=gcc all: $(CC) -O hello.c clean: rm –f *.o a.out svn commit 16

17 Resolving merge conflicts Whoever checks in first has no problem Next “svn update” integrates changes CC=gcc all: $(CC) -O hello.c CC=gcc all: $(CC) -O hello.c svn commit edit: Makefile all: gcc –O hello.c –o hello clean: rm –f *.o a.out all: gcc –O hello.c –o hello clean: rm –f *.o a.out gcc –O hello.c –o hello $(CC) -O hello.c Problem here: both change the same line 17

18 Resolving merge conflicts svn update C Makefile Updated to revision 6. svn commit svn: Commit failed (details follow): svn: Aborting commit: 'Makefile' remains in conflict svn status ? Makefile.r5 ? Makefile.r6 ? Makefile.mine C Makefile svn update C Makefile Updated to revision 6. svn commit svn: Commit failed (details follow): svn: Aborting commit: 'Makefile' remains in conflict svn status ? Makefile.r5 ? Makefile.r6 ? Makefile.mine C Makefile conflict! best guess at integrated changes 18

19 Resolving merge conflicts vi Makefile CC=gcc all: <<<<<<<.mine $(CC) -O hello.c ======= gcc -O hello.c -o hello clean: rm -f *.o a.out >>>>>>>.r6 19

20 Resolving merge conflicts vi Makefile CC=gcc all: <<<<<<<.mine $(CC) -O hello.c ======= gcc -O hello.c -o hello clean: rm -f *.o a.out >>>>>>>.r6 20

21 Resolving merge conflicts vi Makefile svn resolved Makefile Resolved conflicted state of 'Makefile' svn commit Sending src/Makefile Transmitting file data. Committed revision 7. vi Makefile svn resolved Makefile Resolved conflicted state of 'Makefile' svn commit Sending src/Makefile Transmitting file data. Committed revision 7. CC=gcc all: $(CC) -O hello.c -o hello clean: rm -f *.o a.out 21

22 3. Work on your compact model code 22 help MDE !importfile !svn add newfile.m …edit, test… !xterm –e svn commit help MDE !importfile !svn add newfile.m …edit, test… !xterm –e svn commit Start with ! for Unix commands

23 4. Problems? Questions? 23 Do this from the page with the live tool

24 Keep an eye on support tickets 24

25 Other ways to get help 25 How does this work? Would be better if… https://nanohub.org/tools/mde

26 5. Model publication process 26 https://nanohub.org/groups/needs/users_developers

27 Not automated yet 27 Your NEEDS model status page Don’t follow the usual “tool” process Instead, contact: lzentner@purdue.edu

28 Coming Soon 28 New project areas Automated publication process Checklists for required items


Download ppt "NEEDS Berkeley Workshop 2014 NEEDS Compact Model Development Process Michael McLennan Director, HUBzero® Platform for Scientific Collaboration Purdue University."

Similar presentations


Ads by Google