Giter Club home page Giter Club logo

Comments (8)

zhucaoxiang avatar zhucaoxiang commented on September 23, 2024

You can try this to create a new branch inherited from your current branch (type git branch to see which branch you are)

git checkout -b ma00aa

And once you want to push this to GitHub, just try

git push origin ma00aa

Or you can directly merge it into master/NAG_REPLACE, by

git checkout master
git merge ma00aa

from spec.

lazersos avatar lazersos commented on September 23, 2024

I would suggest push then wait for feedback. Once the community is happy with it we can merge the branch into master through github. @jloizu and I just did this for his modifications to the Makefile for IPP. I think it's safe to say that in a branch you can push whatever you want because unless someone else is working with that branch it doesn't affect anyone. Once we push to master it's a global change.

@SRHudson, you should really dig up your Princeton information, the Lynda.com tutorial on git is excellent.

from spec.

jloizu avatar jloizu commented on September 23, 2024

@SRHudson , please create a new branch first:

git branch new_branch_name

e.g., git branch ma00aa_optim, then switch to that new branch:

git checkout new_branch_name

and notice that so far this branch only exists in your local repository. Now you can make changes as you whish, and test, etc. Then, in order to commit changed files:

git add -A
git commit -m "some log message"

At this point the changes are still only local. Finally, you can push the branch to the server repo, along with the committed changes:

git push -u origin new_branch_name

Anyone can then checkout and pull this new branch.

from spec.

jloizu avatar jloizu commented on September 23, 2024

I recommend this very well done and fast-learning videos:
TUTORIAL PART 1: https://www.youtube.com/watch?v=HVsySz-h9r4
TUTORIAL PART 2: https://www.youtube.com/watch?v=FdZecVxzJbk

from spec.

SRHudson avatar SRHudson commented on September 23, 2024

Dear Speculators,

I have pushed some changes to my branch that I called ma00aa.

I copied what Sam did regarding removing the division in favor of multiplications, and I made some other almost trivial changes that I guess will reduce the computation. For example, the values of cheby are stored in global memory (see TD in global and preset) rather than being calculated, the values of ii and jj are stored in ilabel and jlabel (see global and preset), and the values of ll and pp are stored in llabel and plabel (see global and preset). I also removed the multiplication by pi2pi2nfphalf and placed this multiplication into matrix, where I think it will be a bit faster.

I will leave it to someone else to check the timing etc.

Using TD, ilabel, jlabel, llabel and plabel will reduce the computation, but it also requires accessing memory. I don't know which will be faster. It may be the case that the time improvements that I think I have achieved are insignificant to the time improvements that had already been achieved by Sam.

Also, and perhaps most significantly, this routine does not seem to exploit stellarator symmetry! After someone has checked that I am on the right track (in terms of correctly using git) and has performed a timing comparison, it will be easy enough for me to exploit stellarator symmetry. This should speed ma00aa.h up considerably.

from spec.

SRHudson avatar SRHudson commented on September 23, 2024

Dear Spectaculars,

I have exploited stellarator symmetry in ma00aa, and have tested on l2stell in TESTCASES (by the way I REALLY HATE ALL CAPS, Why not TestCases, or preferably Testcases. I usually identify subdirectories by capitalizing the first letter and only the first letter. Anyway, let's move on). Exploiting the stellarator symmetry reduces the computation time considerably.

I hope that someone checks all this. I have placed my edits in branch ma00aa.

from spec.

lazersos avatar lazersos commented on September 23, 2024

@SRHudson Looks good to me. The ma00aa routine reports back an execution time of ~15s which is a huge improvement. I'm going to go ahead and close this issue and issue a pull request.

from spec.

jloizu avatar jloizu commented on September 23, 2024

That sounds very promising and exciting! I will perform thorough tests today, including profiling. I want to test speedup (compared to before), proportion of cpu time consumed by subroutines (compared to before), and also I want to compare the results of running the l2stell test case with the "slow" and "fast" versions, in order to see differences.

from spec.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.