Skip to content

Commit

Permalink
Merge pull request kokkos#139 from marcinwrobel1986/58-change-links-t…
Browse files Browse the repository at this point in the history
…o-images

kokkos#58: links to images in wiki will break after porting stage 1
  • Loading branch information
crtrott authored Aug 24, 2022
2 parents 092e603 + e329853 commit 90b5ff2
Show file tree
Hide file tree
Showing 5 changed files with 6 additions and 6 deletions.
4 changes: 2 additions & 2 deletions docs/source/API/core/Task-Parallelism.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ Basic Usage

Fundamentally, task parallelism is just another form of parallelism in Kokkos. The same general idiom of pattern, policy, and functor applies as for ordinary [parallel dispatch](../../ProgrammingGuide/ParallelDispatch):

![parallel-dispatch](https://raw.githubusercontent.com/wiki/kokkos/kokkos/ProgrammingGuide/figures/parallel-dispatch.png)
![parallel-dispatch](../../ProgrammingGuide/figures/parallel-dispatch.png)

Similarly, for tasking, we have:

![task-dispatch](https://raw.githubusercontent.com/wiki/kokkos/kokkos/ProgrammingGuide/figures/task-dispatch.png)
![task-dispatch](../../ProgrammingGuide/figures/task-dispatch.png)


Task Functor
Expand Down
6 changes: 3 additions & 3 deletions docs/source/ProgrammingGuide/Machine-Model.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Kokkos assumes an _abstract machine model_ for the design of future shared-memor
2014, Sandia National Laboratories and Lawrence Berkeley National Laboratory, DOE Computer Architecture Laboratories Project
***

![node](https://raw.githubusercontent.com/wiki/kokkos/kokkos/ProgrammingGuide/figures/kokkos-node-doc.png)
![node](figures/kokkos-node-doc.png)

<h4>Figure 2.1 Conceptual Model of a Future High Performance Computing Node</h4>

Expand All @@ -28,7 +28,7 @@ Kokkos uses the term _execution spaces_ to describe a logical grouping of comput
### 2.2.1 Execution Space Instances
An _instance_ of an execution space is a specific instantiation of an execution space to which a programmer can target parallel work. By means of example, an execution space might be used to describe a multicore processor. In this example, the execution space contains several homogeneous cores which share some logical grouping. In a program written to the Kokkos model, an instance of this execution space would be made available on which parallel kernels could be executed. As a second example, if we were to add a GPU to the multicore processor so a second execution space type is available in the system, the application programmer would then have two execution space instances available to select from. The important consideration here is that the method of compiling code for different execution spaces and the dispatch of kernels to instances is abstracted by the Kokkos model. This allows application programmers to be free from writing algorithms in hardware specific languages.

![execution-space](https://raw.githubusercontent.com/wiki/kokkos/kokkos/ProgrammingGuide/figures/kokkos-execution-space-doc.png)
![execution-space](figures/kokkos-execution-space-doc.png)

<h4>Figure 2.2 Example Execution Spaces in a Future Computing Node</h4>

Expand All @@ -38,7 +38,7 @@ The multiple types of memory which will become available in future computing nod
### 2.2.3 Instances of Kokkos Memory Spaces
In much the same way execution spaces have specific instantiations through the availability of an _instance_ so do memory spaces. An instance of a memory space provides a concrete method for the application programmer to request data storage allocations. Returning to the examples provided for execution spaces, the multicore processor may have multiple memory spaces available including on-package memory, slower DRAM and additional sets of non-volatile memories. The GPU may also provide an additional memory space through its local on-package memory. The programmer is free to decide where each data structure may be allocated by requesting these from the specific instance associated with that memory space. Kokkos provides the appropriate abstraction of the allocation routines and any associated data management operations including releasing the memory, returning it for future use, as well as for copy operations.

![memory-space](https://raw.githubusercontent.com/wiki/kokkos/kokkos/ProgrammingGuide/figures/kokkos-memory-space-doc.png)
![memory-space](figures/kokkos-memory-space-doc.png)

<h4>Figure 2.3 Example Memory Spaces in a Future Computing Node</h4>

Expand Down
2 changes: 1 addition & 1 deletion docs/source/ProgrammingGuide/ProgrammingModel.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

The programming model Kokkos is characterized by 6 core abstractions: Execution Spaces, Execution Patterns, Execution Policies, Memory Spaces, Memory Layout and Memory Traits. These abstraction concepts allow the formulation of generic algorithms and data structures which can then be mapped to different types of architectures. Effectively, they allow for compile time transformation of algorithms to allow for adaptions of varying degrees of hardware parallelism as well as of the memory hierarchy.

![abstractions](https://raw.githubusercontent.com/wiki/kokkos/kokkos/ProgrammingGuide/figures/kokkos-abstractions-doc.png)
![abstractions](figures/kokkos-abstractions-doc.png)

<h4>Figure 3.1 The Core Abstractions of the Kokkos Programming Model</h4>

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 90b5ff2

Please sign in to comment.