3,108 research outputs found

    Hello

    No full text
    <p>hello</p

    hello-world: hello-world v1.0.0

    No full text
    &lt;p&gt;hello-world v1.0.0 release test&lt;/p&gt

    cjw509/hello-world: hello-world

    No full text
    &lt;p&gt;Release of hello-world repository to link with Zenodo.&lt;/p&gt

    hello-world: First release

    No full text
    &lt;p&gt;My first release of hello-world&lt;/p&gt

    LloydMcInnes/hello-world: Hello World

    No full text
    &lt;p&gt;Hello World repository&lt;/p&gt

    ConnorHahn/hello-world: First release of hello-world repo

    No full text
    &lt;p&gt;Releasing hello-world repo to test out the Zenodo archiving.&lt;/p&gt

    puzzlef/hello-cuda: A basic "Hello world" or "Hello CUDA" example to perform a number of operations on NVIDIA GPUs using CUDA

    No full text
    &lt;p&gt;A basic &quot;Hello world&quot; or &quot;Hello CUDA&quot; example to perform a number of operations on NVIDIA GPUs using &lt;a href="https://docs.nvidia.com/cuda/index.html"&gt;CUDA&lt;/a&gt;.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;You can just copy &lt;code&gt;main.sh&lt;/code&gt; to your system and run it. &lt;br&gt; For the code, refer to &lt;code&gt;main.cu&lt;/code&gt;.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;br&gt;&lt;/p&gt; &lt;pre&gt;&lt;code class="language-bash"&gt;$ bash main.sh # Cloning into 'hello-cuda'... # remote: Enumerating objects: 33, done. # remote: Counting objects: 100% (12/12), done. # remote: Compressing objects: 100% (11/11), done. # remote: Total 33 (delta 2), reused 6 (delta 1), pack-reused 21 # Receiving objects: 100% (33/33), 24.58 KiB | 719.00 KiB/s, done. # Resolving deltas: 100% (9/9), done. # HELLO WORLD: # GPU[B1.T0]: Hello CUDA # GPU[B1.T1]: Hello CUDA # GPU[B1.T2]: Hello CUDA # GPU[B1.T3]: Hello CUDA # GPU[B1.T4]: Hello CUDA # GPU[B1.T5]: Hello CUDA # GPU[B1.T6]: Hello CUDA # GPU[B1.T7]: Hello CUDA # GPU[B3.T0]: Hello CUDA # GPU[B3.T1]: Hello CUDA # GPU[B3.T2]: Hello CUDA # GPU[B3.T3]: Hello CUDA # GPU[B3.T4]: Hello CUDA # GPU[B3.T5]: Hello CUDA # GPU[B3.T6]: Hello CUDA # GPU[B3.T7]: Hello CUDA # GPU[B2.T0]: Hello CUDA # GPU[B2.T1]: Hello CUDA # GPU[B2.T2]: Hello CUDA # GPU[B2.T3]: Hello CUDA # GPU[B2.T4]: Hello CUDA # GPU[B2.T5]: Hello CUDA # GPU[B2.T6]: Hello CUDA # GPU[B2.T7]: Hello CUDA # GPU[B0.T0]: Hello CUDA # GPU[B0.T1]: Hello CUDA # GPU[B0.T2]: Hello CUDA # GPU[B0.T3]: Hello CUDA # GPU[B0.T4]: Hello CUDA # GPU[B0.T5]: Hello CUDA # GPU[B0.T6]: Hello CUDA # GPU[B0.T7]: Hello CUDA # CPU: Hello world! # DEVICE PROPERTIES: # COMPUTE DEVICE 0: # Name: Tesla V100-PCIE-16GB # Compute capability: 7.0 # Multiprocessors: 80 # Clock rate: 1380 MHz # Global memory: 16151 MB # Constant memory: 64 KB # Shared memory per block: 48 KB # Registers per block: 65536 # Threads per block: 1024 (max) # Threads per warp: 32 # Block dimension: 1024x1024x64 (max) # Grid dimension: 2147483647x65535x65535 (max) # Device copy overlap: yes # Kernel execution timeout: no # CHOOSE DEVICE: # Current CUDA device: 0 # CUDA device with atleast compute capability 1.3: 0 # Cards that have compute capability 1.3 or higher # support double-precision floating-point math. # MALLOC PERFORMANCE: # Host malloc (1 GB): 0.00 ms # CUDA malloc (1 GB): 1.35 ms # Host free (1 GB): 0.00 ms # CUDA free (1 GB): 1.51 ms # MEMCPY PERFORMANCE: # Host to host (1 GB): 412.59 ms # Host to device (1 GB): 225.32 ms # Device to host (1 GB): 246.87 ms # Device to device (1 GB): 0.04 ms # ADDITION: # a = 1, b = 2 # a + b = 3 (GPU) # VECTOR ADDITION: # x = vector of size 1 GB # y = vector of size 1 GB # Vector addition on host (a = x + y): 438.02 ms # Vector addition on device &lt;&lt;&lt;32768, 32&gt;&gt;&gt; (a = x + y): 4.33 ms # Vector addition on device &lt;&lt;&lt;16384, 64&gt;&gt;&gt; (a = x + y): 3.98 ms # Vector addition on device &lt;&lt;&lt;8192, 128&gt;&gt;&gt; (a = x + y): 4.01 ms # Vector addition on device &lt;&lt;&lt;4096, 256&gt;&gt;&gt; (a = x + y): 3.97 ms # Vector addition on device &lt;&lt;&lt;2048, 512&gt;&gt;&gt; (a = x + y): 4.00 ms # Vector addition on device &lt;&lt;&lt;1024, 1024&gt;&gt;&gt; (a = x + y): 3.97 ms # DOT PRODUCT: # x = vector of size 1 GB # y = vector of size 1 GB # Dot product on host (a = x . y): 207.39 ms [2.154769e+05] # Dot product on device (a = x . y): 2.69 ms [2.154769e+05] (memcpy approach) # Dot product on device (a = x . y): 2.50 ms [2.154769e+05] (inplace approach) # Dot product on device (a = x . y): 2.50 ms [2.154769e+05] (atomic-add approach) # HISTOGRAM: # buf = vector of size 1 GB # Finding histogram of buf on host: 747.00 ms # Finding histogram of buf on device (basic approach): 401.06 ms # Finding histogram of buf on device (shared approach): 6.85 ms # MATRIX MULTIPLICATION: # x = matrix of size 16 MB # y = matrix of size 16 MB # Matrix multiplication on host (a = x * y): 33307.13 ms [3.287916e+00] # Matrix multiplication on device (a = x * y): 18.93 ms (basic approach) [3.287916e+00] # Matrix multiplication on device (a = x * y): 12.20 ms (tiled approach) [3.287916e+00] &lt;/code&gt;&lt;/pre&gt; &lt;p&gt;&lt;br&gt; &lt;br&gt;&lt;/p&gt; &lt;h2&gt;References&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="https://nvlabs.github.io/cub/"&gt;CUB Documentation&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://github.com/moderngpu/moderngpu"&gt;moderngpu/moderngpu: Patterns and behaviors for GPU computing&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://developer.nvidia.com/blog/faster-parallel-reductions-kepler/"&gt;Faster Parallel Reductions on Kepler&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://stackoverflow.com/a/37569519/1413259"&gt;CUDA atomicAdd for doubles definition error&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html"&gt;CUDA C++ Programming Guide&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://docs.nvidia.com/cuda/index.html"&gt;CUDA Toolkit Documentation&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;br&gt; &lt;br&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=8sDg-lD1fZQ"&gt;&lt;/a&gt;&lt;br&gt; &lt;a href="https://puzzlef.github.io"&gt;&lt;/a&gt;&lt;/p&gt

    smcl773/hello-world2: HelloWorld2

    No full text
    &lt;p&gt;first release of hello world 2 for infosys 320&lt;/p&gt

    mascotto91/hello-world: First Releases Test

    No full text
    &lt;p&gt;First releases of hello-world test.&lt;/p&gt

    puzzlef/hello-mpi: A basic "Hello world" example to output text to console from nodes over a network using MPI

    No full text
    &lt;p&gt;A basic &quot;Hello world&quot; example to output text to console from nodes over a network using &lt;a href="https://en.wikipedia.org/wiki/Message_Passing_Interface"&gt;MPI&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;A cluster at &lt;a href="https://www.iiit.ac.in"&gt;IIIT&lt;/a&gt; has four &lt;a href="https://en.wikipedia.org/wiki/Slurm_Workload_Manager"&gt;SLURM&lt;/a&gt; nodes. We want to run one process on each node, and run &lt;code&gt;32&lt;/code&gt; threads using &lt;a href="https://en.wikipedia.org/wiki/OpenMP"&gt;OpenMP&lt;/a&gt;. In future, such a setup would allow us to run distributed algorithms that utilize each node's memory efficiently and minimize communication cost (within the same node). Output is saved in &lt;a href="https://gist.github.com/wolfram77/41114570e75f5c0d0ffeb9fd73ec252b"&gt;gist&lt;/a&gt;. Technical help from &lt;a href="https://www.iiit.ac.in/people/faculty/Semparithi.Aravindan/"&gt;Semparithi Aravindan&lt;/a&gt;.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; You can just copy &lt;code&gt;main.sh&lt;/code&gt; to your system and run it. &lt;br&gt; For the code, refer to &lt;code&gt;main.cu&lt;/code&gt;.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;br&gt;&lt;/p&gt; &lt;pre&gt;&lt;code class="language-bash"&gt;sclenablegcctoolset11bash scl enable gcc-toolset-11 bash sbatch main.sh # ========================================== # SLURM_JOB_ID = 3373 # SLURM_NODELIST = node[01-04] # SLURM_JOB_GPUS = # ========================================== # Cloning into 'hello-mpi'... # [node01.local:2180262] MCW rank 0 is not bound (or bound to all available processors) # [node02.local:3790641] MCW rank 1 is not bound (or bound to all available processors) # [node04.local:3758212] MCW rank 3 is not bound (or bound to all available processors) # [node03.local:3287974] MCW rank 2 is not bound (or bound to all available processors) # P00: NAME=node01.local # P00: OMP_NUM_THREADS=32 # P02: NAME=node03.local # P02: OMP_NUM_THREADS=32 # P03: NAME=node04.local # P03: OMP_NUM_THREADS=32 # P01: NAME=node02.local # P01: OMP_NUM_THREADS=32 # P00.T00: Hello MPI # P00.T24: Hello MPI # P00.T16: Hello MPI # P00.T26: Hello MPI # P00.T05: Hello MPI # P00.T29: Hello MPI # P00.T22: Hello MPI # P00.T06: Hello MPI # P00.T17: Hello MPI # P00.T23: Hello MPI # P00.T25: Hello MPI # P00.T13: Hello MPI # P00.T01: Hello MPI # P00.T09: Hello MPI # P00.T03: Hello MPI # P00.T02: Hello MPI # P00.T31: Hello MPI # P03.T00: Hello MPI # P03.T24: Hello MPI # P03.T05: Hello MPI # P03.T21: Hello MPI # P03.T04: Hello MPI # ... &lt;/code&gt;&lt;/pre&gt; &lt;p&gt;&lt;br&gt; &lt;br&gt;&lt;/p&gt; &lt;h2&gt;References&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=c0C9mQaxsD4"&gt;MPI Basics : Tom Nurkkala&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=wTlu971fXkE"&gt;OpenMPI tutorial coding in Fortran 90 - 01 Hello World! : yinjianz&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=mzfVimVbguQ"&gt;Mod-09 Lec-40 MPI programming : Prof. Matthew Jacob&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=TiQRPMBBmDs"&gt;MPI/OpenMP Hybrid Programming : Neil Stringfellow&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=LBgx_S5ougk"&gt;Introduction to MPI Programming, part 1 : Hristo Iliev&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=1Inj6hdSnG0"&gt;Hybrid MPI+OpenMP programming : Dr. Jussi Enkovaara&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://mpitutorial.com/tutorials/running-an-mpi-cluster-within-a-lan/"&gt;Running an MPI Cluster within a LAN : Dwaraka Nath&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://riptutorial.com/mpi/example/16808/return-values-of-mpi-calls"&gt;Return values of MPI calls : RIP Tutorial&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://www.dartmouth.edu/~rc/classes/intro_mpi/mpi_error_functions.html"&gt;MPI Error Handling : Dartmouth College&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://stackoverflow.com/a/49873583/1413259"&gt;Does storing mpi rank enhance the performance : Cosmin Ioniță&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://stackoverflow.com/a/20067763/1413259"&gt;MPI error handler not getting called when exception occurs : Hristo Iliev&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://stackoverflow.com/a/50519696/1413259"&gt;Assert function for MPI Programs : Gilles Gouaillardet&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://stackoverflow.com/a/39609017/1413259"&gt;In MPI, how to make the following program Wait till all calculations are completed : Gilles&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://stackoverflow.com/a/54844676/1413259"&gt;MPI_Abort() vs exit() : R.. GitHub STOP HELPING ICE&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://rookiehpc.org/mpi/docs/mpi_datatype/index.html"&gt;MPI_Datatype : RookieHPC&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://mpi.deino.net/mpi_functions/MPI_Error_string.html"&gt;MPI_Error_string : DeinoMPI&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://www.mpich.org/static/docs/v3.3/www3/MPI_Error_string.html"&gt;MPI_Error_string : MPICH&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://www.mpich.org/static/docs/v3.3/www3/MPI_Comm_size.html"&gt;MPI_Comm_size : MPICH&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://www.mpich.org/static/docs/v3.3/www3/MPI_Comm_rank.html"&gt;MPI_Comm_rank : MPICH&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://www.mpich.org/static/docs/v3.2/www3/MPI_Get_processor_name.html"&gt;MPI_Get_processor_name : MPICH&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;br&gt; &lt;br&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=c0C9mQaxsD4"&gt;&lt;/a&gt;&lt;br&gt; &lt;a href="https://puzzlef.github.io"&gt;&lt;/a&gt;&lt;/p&gt
    corecore