8000 Ec2 by decarvalhojunior-fh · Pull Request #20 · PlatformAwareProgramming/PlatformAware.jl · GitHub
[go: up one dir, main page]

Skip to content

Ec2 #20

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Oct 6, 2022
Merged

Ec2 #20

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ auth 8000 ors = ["Francisco Heron de Carvalho Junior <heron@dc.ufc.br> and contributor
version = "0.4.0"

[deps]
AbstractTrees = "1520ce14-60c1-5f80-bbc7-55ef81b5835c"
CpuId = "adafc99b-e345-5852-983c-f28acb93d879"
Downloads = "f43a241f-c20a-4ad4-852c-f6b1247861c6"
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -230,9 +230,9 @@ Therefore, we suggest the following general guideline for package developers who
3. Identify the target execution platforms to which you want to provide specialized methods for each kernel function. You can choose a set of execution platforms for all kernels, or you can select one or more platforms for each kernel independently. For helping your choice, look at the following information sources:
- the [table of supported _platform **parameters**_](https://docs.google.com/spreadsheets/d/1n-c4b7RxUduaKV43XrTnt54w-SR1AXgVNI7dN2OkEUc/edit?usp=sharing), which will help you to know which assumptions _PlatformAware.jl_ already allow you to make about the target execution platorm;
- the database of supported _platform **features**_, where the features of the models of processors and accelerators that are currently suported by _PlatformAware.jl_ are described:
- AMD [accelerators](https://github.com/decarvalhojunior-fh/PlatformAware.jl/blob/master/src/platforms/amd/db-accelerators.AMD.csv) and [processors](https://github.com/decarvalhojunior-fh/PlatformAware.jl/blob/master/src/platforms/amd/db-processors.AMD.csv);
- Intel [accelerators](https://github.com/decarvalhojunior-fh/PlatformAware.jl/blob/master/src/platforms/intel/db-accelerators.Intel.csv) and [processors](https://github.com/decarvalhojunior-fh/PlatformAware.jl/blob/master/src/platforms/intel/db-processors.Intel.csv);
- NVIDIA [accelerators](https://github.com/decarvalhojunior-fh/PlatformAware.jl/blob/master/src/platforms/nvidia/db-accelerators.NVIDIA.csv).
- AMD [accelerators](https://github.com/decarvalhojunior-fh/PlatformAware.jl/blob/master/src/features/qualifiers/amd/db-accelerators.AMD.csv) and [processors](https://github.com/decarvalhojunior-fh/PlatformAware.jl/blob/master/src/features/qualifiers/amd/db-processors.AMD.csv);
- Intel [accelerators](https://github.com/decarvalhojunior-fh/PlatformAware.jl/blob/master/src/features/qualifiers/intel/db-accelerators.Intel.csv) and [processors](https://github.com/decarvalhojunior-fh/PlatformAware.jl/blob/master/src/features/qualifiers/intel/db-processors.Intel.csv);
- NVIDIA [accelerators](https://github.com/decarvalhojunior-fh/PlatformAware.jl/blob/master/src/features/qualifiers/nvidia/db-accelerators.NVIDIA.csv).

4. For each platform you select, define a set of assumptions about its features that will guide your implementation decisions. In fact, it is possible to define different assumptions for the same platform, leading to multiple implementations of a kernel for the same platform. For example, you might decide to implement different parallel algorithms to solve a problem according to the number of nodes and the interconnection characteristics of a cluster.

Expand Down
56 changes: 30 additions & 26 deletions src/PlatformAware.jl
Original file line number Diff line number Diff line change
Expand Up @@ -11,37 +11,39 @@ using JSON
using Scratch
using Downloads

include("utils.jl")

# features (platform types)
include("features/features.jl") # platform types base
include("features/detection.jl") # feature detection

# quantifiers
include("quantifiers/atleast.jl")
include("quantifiers/atmost.jl")
include("quantifiers/macros.jl")
include("features/quantifiers/atleast.jl")
include("features/quantifiers/atmost.jl")
include("features/quantifiers/macros.jl")

# platform types
include("platforms/general.jl")
include("platforms/common.jl")
include("platforms/ec2/ec2.jl")
include("platforms/gcp/gcp.jl")
include("platforms/nvidia/nvidia.jl")
include("platforms/intel/intel.jl")
include("platforms/intel/intel_accelerators_xeonphi.jl")
include("platforms/intel/intel_processors_atom.jl")
include("platforms/intel/intel_processors_celeron.jl")
include("platforms/intel/intel_processors_core.jl")
include("platforms/intel/intel_processors_itanium.jl")
include("platforms/intel/intel_processors_pentium.jl")
include("platforms/intel/intel_processors_xeon.jl")
include("platforms/amd/amd_processors.jl")
include("platforms/amd/amd_accelerators.jl")
include("platforms/xilinx/xilinx.jl")
# qualifiers
include("features/qualifiers/general.jl")
include("features/qualifiers/common.jl")
include("features/qualifiers/ec2/ec2.jl")
include("features/qualifiers/gcp/gcp.jl")
include("features/qualifiers/nvidia/nvidia.jl")
include("features/qualifiers/intel/intel.jl")
include("features/qualifiers/intel/intel_accelerators_xeonphi.jl")
include("features/qualifiers/intel/intel_processors_atom.jl")
include("features/qualifiers/intel/intel_processors_celeron.jl")
include("features/qualifiers/intel/intel_processors_core.jl")
include("features/qualifiers/intel/intel_processors_itanium.jl")
include("features/qualifiers/intel/intel_processors_pentium.jl")
include("features/qualifiers/intel/intel_processors_xeon.jl")
include("features/qualifiers/amd/amd_processors.jl")
include("features/qualifiers/amd/amd_accelerators.jl")
include("features/qualifiers/xilinx/xilinx.jl")

include("utils.jl")

# main functionality (@platform macro and default types)
include("features.jl")
include("identification.jl")
include("platform.jl")

# platform identification
include("awareness.jl")

function __init__()
load!()
Expand All @@ -55,6 +57,9 @@ export
@just,
@unlimited,
@api,
PlatformFeature,
QuantifierFeature,
QualifierFeature,
Query,
Yes,
No,
Expand All @@ -63,7 +68,6 @@ export
CloudProvider,
MachineFamily,
MachineType,
MachineSize,
Locale,
Manufacturer,
ProcessorMicroarchitecture,
Expand Down
Loading
0