Future home of hpc-tutorials.llnl.gov

Overview

Build Status Jekyll Version


Example Jekyll website using GitLab Pages. View it live at https://pages.gitlab.io/jekyll

Learn more about GitLab Pages or read the the official GitLab Pages documentation.


Table of Contents generated with DocToc

Getting Started

You can get started with GitLab Pages using Jekyll easily by either forking this repository or by uploading a new/existing Jekyll project.

Remember you need to wait for your site to build before you will be able to see your changes. You can track the build on the Pipelines tab.

Start by forking this repository

  1. Fork this repository.
  2. IMPORTANT: Remove the fork relationship. Go to Settings ( ) > Edit Project and click the "Remove fork relationship" button.
  3. Enable Shared Runners. Go to Settings ( ) > Pipelines and click the "Enable shared Runners" button.
  4. Rename the repository to match the name you want for your site.
  5. Edit your website through GitLab or clone the repository and push your changes.

Start from a local Jekyll project

  1. Install Jekyll.
  2. Use jekyll new to create a new Jekyll Project.
  3. Add this .gitlab-ci.yml to the root of your project.
  4. Push your repository and changes to GitLab.

GitLab CI

This project's static Pages are built by GitLab CI, following the steps defined in .gitlab-ci.yml:

image: ruby:2.3

variables:
  JEKYLL_ENV: production

pages:
  script:
  - bundle install
  - bundle exec jekyll build -d public
  artifacts:
    paths:
    - public
  only:
  - master

Using Jekyll locally

To work locally with this project, you'll have to follow the steps below:

  1. Fork, clone or download this project
  2. Install Jekyll
  3. Download dependencies: bundle
  4. Build and preview: bundle exec jekyll serve
  5. Add content

The above commands should be executed from the root directory of this project.

Read more at Jekyll's documentation.

GitLab User or Group Pages

To use this project as your user/group website, you will need one additional step: just rename your project to namespace.gitlab.io, where namespace is your username or groupname. This can be done by navigating to your project's Settings.

Read more about user/group Pages and project Pages.

Did you fork this project?

If you forked this project for your own use, please go to your project's Settings and remove the forking relationship, which won't be necessary unless you want to contribute back to the upstream project.

Other examples

  • jekyll-branched demonstrates how you can keep your GitLab Pages site in one branch and your project's source code in another.
  • The jekyll-themes group contains a collection of example projects you can fork (like this one) having different visual styles.

Troubleshooting

  1. CSS is missing! That means two things:
    • Either that you have wrongly set up the CSS URL in your templates, or
    • your static generator has a configuration option that needs to be explicitly set in order to serve static assets under a relative URL.

Release

This project is relesed as LLNL-CODE-819660

Issues
  • Styles missing

    Styles missing

    Hello,

    I come from the https://hpc-tutorials.llnl.gov/posix/ It seems that styles on this page are broken because of issues with https://icsmaint-ext.llnl.gov/ site which is throwing 503s.

    Is it something on my side only?

    Best regards, Furai

    opened by furai 2
  • Appendix's routine links don't work on live website

    Appendix's routine links don't work on live website

    Error: If you go to these two pages, only the first one will let you follow the links to routine-specific info. https://github.com/LLNL/HPC-Tutorials/blob/main/mpi/appendix_a.md https://hpc-tutorials.llnl.gov/mpi/appendix_a/

    Cause: The links are relative to the current directory, but because the live server serves appendix_a.md as a directory in the url, the links end up with a bonus /appendix_a/ in the path, which results in a 404.

    Example: Github links correctly: https://github.com/LLNL/HPC-Tutorials/blob/main/mpi/MPI_appendix/MPI_Bcast.txt Live site links to this 404: https://hpc-tutorials.llnl.gov/mpi/appendix_a/MPI_appendix/MPI_Bcast.txt Live site has the page here: https://hpc-tutorials.llnl.gov/mpi/MPI_appendix/MPI_Bcast.txt

    opened by SolidKalium 1
  • Fix hyperlink to

    Fix hyperlink to "Derived Data Types" page

    The "Derived Data Types" hyperlink - currently pointing to https://hpc-tutorials.llnl.gov/mpi/derived_data_types - returns a 404 error because the filename was changed in https://github.com/LLNL/HPC-Tutorials/commit/ccf95c6b5f907c4f4925e375a2d933ec378191d6.

    This PR fixes said hyperlink.

    Signed-off-by: Abrar Rahman Protyasha [email protected]

    opened by aprotyas 0
  • Suggestion on PThreads (passing argument, example3)

    Suggestion on PThreads (passing argument, example3)

    As from the title, in PThreads tutorial, Passing Arguments to Threads, Example 3

    Example 3 - Thread Argument Passing (Incorrect)
    This example performs argument passing incorrectly. It passes the address of variable t, which is shared memory space and visible to all threads. As the loop iterates, the value of this memory location changes, possibly before the created threads can access it.
    
    int rc;
    long t;
    
    for(t=0; t<NUM_THREADS; t++) 
    {
       printf("Creating thread %ld\n", t);
       rc = pthread_create(&threads[t], NULL, PrintHello, (void *) &t);
       ...
    }
    

    with output

    Creating thread 0
    Creating thread 1
    ...
    Creating thread 7
    Hello from thread 140737488348392
    Hello from thread 140737488348392
    ...
    Hello from thread 140737488348392
    Hello from thread 140737488348392
    

    It looks like the program prints the address of the variable t, which might be inconsistent with what we want to illustrate --- "the value of this memory location changes". Can we adjust this to something like the following?

    void *PrintHello(void *threadid) {
        long * tid;
        tid = (long *)threadid;
        printf("Hello World! It's me, thread #%ld!\n", *tid);
        pthread_exit(NULL);
    }
    
    int main() {
        pthread_t threads[NUM_THREADS];
        int rc;
        long t;
        for (t = 0; t < NUM_THREADS; t++)
        {
            printf("In main: creating thread %ld\n", t);
            /* Don't try to access memory location of t! 
             * It constantly changes as the loop goes! 
             * Possibly before the created threads can access it
             */
            rc = pthread_create(&threads[t], NULL, PrintHello, (void *) &t);
            if (rc)
            {
                printf("ERROR; return code from pthread_create() is %d\n", rc);
                exit(-1);
            }
        }
    
        /* Last thing that main() should do */
        pthread_exit(NULL);
        return 0;
    }
    

    So the output goes like

    In main: creating thread 0
    In main: creating thread 1
    Hello World! It's me, thread #1!
    In main: creating thread 2
    Hello World! It's me, thread #2!
    In main: creating thread 3
    Hello World! It's me, thread #3!
    In main: creating thread 4
    Hello World! It's me, thread #4!
    Hello World! It's me, thread #5!
    

    which illustrates that the value t had been t++ed before the created thread read the location.

    Thanks!

    opened by j7168908jx 1
  • Update Fortran data types

    Update Fortran data types

    May wish to update https://github.com/LLNL/HPC-Tutorials/blob/main/mpi/routine_args.md to have more Fortran data types. See for example https://www.mpich.org/static/docs/v4.0/www3/Constants.html

    opened by bkmgit 0
Owner
Lawrence Livermore National Laboratory
For more than 65 years, the Lawrence Livermore National Laboratory has applied science and technology to make the world a safer place.
Lawrence Livermore National Laboratory
Teach the C programming language using a collection of super beginner friendly tutorials and challenges.

TeachMeCLikeIm5 You are welcome to contribute to this repo. See the CONTRIBUTING.md for more info ?? About this repo ?? A collection of super beginner

inspirezonetech 10 Feb 4, 2022
Selfies but in C++. Celfies is for HPC. Robust representation of semantically constrained graphs, in particular for molecules in chemistry.

celfies Selfies but in C++. Why? Because RDKit in C++ and other speed reasons. Follow the originators of the ideas & code @MarioKrenn, @AlstonLo, @Sey

sevenTM 3 Nov 24, 2021
A curated list of project-based tutorials in C

A list of tutorials that work towards the making of small to large projects in C.

R 8.3k Feb 13, 2022
Tutorials on how the UEFI works

Step by Step Tutorials on how to use the UEFI for OS Development from scratch THIS IS WINDOWS BASED TUTS, BUT CODE SHOULD WORK IN LINUX AND MAC. NOTE

ThatOSDev 1 Jul 19, 2022
Teach the C programming language using a collection of super beginner friendly tutorials and challenges.

TeachMeCLikeIm5 You are welcome to contribute to this repo. See the CONTRIBUTING.md for more info ?? About this repo ?? A collection of super beginner

inspirezonetech 10 Feb 4, 2022
Examples, tutorials and applications for the LVGL embedded GUI library

Examples, tutorials and applications for the LVGL embedded GUI library

LVGL 433 Aug 11, 2022
Enfusion Artifical Intelligence for DayZ and future Bohemia Interactive games.

Enfusion AI Project (eAI) This mod adds headless player units under the control of a script on the server. Although the script is very rudimentary now

William Bowers 56 Aug 5, 2022
Mach is a game engine & graphics toolkit for the future.

Mach engine ⚠️ Project status: in-development ⚠️ Under heavy development, not ready for use currently. Follow @machengine on Twitter for updates. Zero

Hexops 1.1k Aug 11, 2022
Fully Featured Time Circuits Display from Back to the Future

Time Circuits Display This Time Circuits Display has been meticulously reproduced to be as accurate as possible to the one seen in the Delorean Time M

John 52 Jun 27, 2022
Not a big fan of git. May create a nicer repo in the future.

os My x86-64 hobby operating system. Cooperative multitasking system with no user-mode support, everything runs on ring 0 (for now). Packed with a rea

tiagoporsch 13 Jul 26, 2022
42 Cursus - Libft: My implementation of some useful C functions and some additional ones to use it in future projects of 42.

42 Cursus - libft Info My implementation of some useful C functions and some additional ones to use it in future projects of 42. Status: still updatin

izenynn 7 Jul 21, 2022
A repository that includes common helper functions for writing applications in the DPDK. I will be using this for my future projects in the DPDK.

The DPDK Common (WIP) Description This project includes helpful functions and global variables for developing applications using the DPDK. I am using

Christian Deacon 11 May 31, 2022
Future-proof NvENC & NvFBC patcher (Linux/Windows)

nvlax Future-proof NvENC & NvFBC patcher Requirements Working internet connection during configuration (i.e cloning does NOT include dependencies) CMa

Illyan Garte 89 Aug 2, 2022
This project is pretty straightforward, you have to recode printf. You will learn what is and how to implement variadic functions. Once you validate it, you will reuse this function in your future projects.

100/100 Introduction to ft_printf This is the third project in the 1337 Curriculum #42network . This project is pretty straight forward, recode the pr

Zakaria Yacoubi 4 May 27, 2022
A basic C++ cryptocurrency/block-chain. Includes a basic wallet system. See README.md for all the inclusions and future additions.

Cryptocurrency Project C++ cryptocurrency/block-chain. Mostly basic blockchain for now. New Additions are in the works(see below). This file details w

null 2 Dec 23, 2021
Text - A spicy text library for C++ that has the explicit goal of enabling the entire ecosystem to share in proper forward progress towards a bright Unicode future.

ztd.text Because if text works well in two of the most popular systems programming languages, the entire world over can start to benefit properly. Thi

Shepherd's Oasis 204 Jul 25, 2022
bl_mcu_sdk is MCU software development kit provided by Bouffalo Lab Team for BL602/BL604, BL702/BL704/BL706 and other series of RISC-V based chips in the future.

bl mcu sdk is an MCU software development kit provided by the Bouffalo Lab Team for BL602/BL604, BL702/BL704/BL706 and other series of chips in the future

Bouffalo Lab 125 Aug 8, 2022
All lab practicals c++ source code will be stored here, for future references.

Karnataka-State-Ist-PU-LAB-practicals-source-code All lab practicals c++ source code will be stored here, for future references. Sourced from this web

Sachit 1 Feb 1, 2022
A free, offline Pokémon Home alternative for Switch!

Eevee A free, offline Pokémon Home alternative for Switch! Features currently available: Bank Cloning Editing Features planned: Editing LGPE support O

Ben 19 Jul 7, 2022
Freeing the Silvercrest (Lidl/Tuya) Smart Home Gateway from the cloud.

free-your-silvercrest Freeing the Silvercrest (Lidl/Tuya) Smart Home Gateway from the cloud A collection of scripts/programs for freeing your Silvercr

null 112 Aug 10, 2022
Yet another alarm (control) panel for Home Assistant.

HASS-YAAP Yet another alarm (control) panel for Home Assistant. Change alarm system mode (away, home, night, disarmed) Welcome people arriving by thei

Paul-Vincent Roll 48 Dec 4, 2021
DIY LCD touchscreen for Home Automation

HA SwitchPlate HASPone The HASPone is a DIY touchscreen controller you can mount into a standard North American work box. It connects to your home aut

null 263 Jul 29, 2022
Control Hörmann doors drives directly via MQTT from Home Assistant

hoermann_door Control Hörmann doors drives directly via MQTT from Home Assistant

null 57 Aug 4, 2022
Home automation light switch controller

Home Automation Light Switch Controller Copyright 2019-2021 SuperHouse Automation Pty Ltd www.superhouse.tv A modular Light Switch Controller for DIY

SuperHouse Automation 11 Mar 27, 2022
Automated hydroponics with Home Assistant & ESP8266 controllers

ESPonics Automated hydroponics with ESP8266 microcontrollers & Home Assistant I absolutely want to credit Reddit user u/ghoofman for both the inspirat

jjensn 15 Jun 17, 2022
Universal State Monitor software for home automation input devices

Universal State Monitor Copyright 2019-2021 SuperHouse Automation Pty Ltd www.superhouse.tv A binary state monitor for DIY home automation projects. T

SuperHouse Automation 3 Aug 24, 2021
A hacky e-ink display for Home Assistant sensors

This is a hacky PlatformIO project in which Home Assistant data is displayed in an e-ink display. Useful Links Display Hardware on Tindie Official Git

null 54 Aug 2, 2022
Now get your alerts & updates about home, wherever you are, with an SMS on your mobile! All with a simple NodeMCU project!

Now get your alerts & updates about home, wherever you are, with an SMS on your mobile! All with a simple NodeMCU project!

Priyanka Peddinti 2 Oct 20, 2021
Show pressure & temperature readings from Home Assistant/MQTT on a mini display

home-assistant-barometer-display A mini Home Assistant display to show pressure & temperature readings (and made to look pretty with 'freeform pcb' br

David Barton 4 Jan 4, 2022