arkouda
arkouda copied to clipboard
Updates to chapel training docs
After attending the chapel team's tutorial, i thought of some sections of our tutorial that could use shoring up. This would be good to do before the new arkouda-devs come on. We can use @egelberg as a guinea pig afterward to see if our tutorial is readable to a relatively new chpl dev
- section on argument intents
- more about obvious cases when a loop can be made parallel
- less steep ramp up before aggregation
- revisit comm diagnostics section (use
--no-cache-remote
) / expand common pitfalls- more detail on leading iterators not being distributed
- include info about any debugging that can be done on chpl programs i.e. gdb/lldb/valgrind and if u need a certain configuration to enable this (llvm set or not, qthreads set or not, etc). I need to play around with this myself before I'm ready to write anything meaningful in our developer training material. Some relevant chpl docs:
- https://chapel-lang.org/docs/usingchapel/debugging.html
- https://chapel-lang.org/docs/developer/bestPractices/Valgrind.html
- sync variables
- quick intro to foreach loops (just order independence and allows for the compiler to do like vectorization / SIMD stuff)
- give everything a once over to see if existing sections have room for improvement / if they need to be updated for 1.32
The chpl tutorial as it stands today are here: https://github.com/Bears-R-Us/arkouda/blob/master/training/CHAPEL_TUTORIAL.md https://github.com/Bears-R-Us/arkouda/blob/master/training/Tutorial.chpl