|
WaSH Docs
|
Enumerations | |
| enum | PropertyList { PropertyList::Pos, PropertyList::Vel, PropertyList::Acc, PropertyList::Density, PropertyList::Mass, PropertyList::SmoothingLength } |
Functions | |
| std::vector< std::string > | get_force_kernel_read_variables () |
| Get all variables that are read by force kernels. More... | |
| std::vector< std::string > | get_domain_sync_invalidated_halos () |
| std::vector< bool > | compute_domain_syncs () |
| Compute whether or not we should run a domain sync after each kernel. More... | |
| std::vector< bool > | compute_domain_syncs_clever () |
| Compute whether or not we should run a domain sync after each kernel, as per Scott's algorithm in the report. More... | |
| std::vector< std::vector< std::string > > | compute_halo_exchanges () |
| Compute which variables need to be exchanged after the execution of each kernel. exchanges[i] contains v if v needs to be exchanged after kernel i executes. More... | |
| void | HandleDomainSync (const MatchFinder::MatchResult &Result, Replacements &Replace) |
| Rewriter callback for inserting domain syncs. More... | |
| void | HandleHaloExchange (const MatchFinder::MatchResult &Result, Replacements &Replace) |
| Rewriter callback for inserting domain syncs. More... | |
| std::string | RunHaloExchange (std::vector< std::string > exchanges) |
| Generate code for a single halo exchange on a list of variables. More... | |
| void | UnrollKernelDependencyLoop (const MatchFinder::MatchResult &Result, Replacements &Replace) |
| Rewriter callback for unrolling the kernel loop. More... | |
| void | InsertInitialHaloExchange (const MatchFinder::MatchResult &Result, Replacements &Replace) |
| bool | RecordAssignment (std::string function_name, std::string force_name) |
| Record a force that is assigned to in a function. More... | |
| bool | RecordRead (std::string function_name, std::string force_name) |
| Record a force that is read from in function. More... | |
| void | RegisterForceKernel (const MatchFinder::MatchResult &Result, Replacements &Replace) |
| void | RegisterInitKernel (const MatchFinder::MatchResult &Result, Replacements &Replace) |
| void | RegisterNeighbourSearchKernel (const MatchFinder::MatchResult &Result, Replacements &Replace) |
| void | DefaultNeighbourSearchKernel (const MatchFinder::MatchResult &Result, Replacements &Replace) |
| void | HandleFunctionCallInFunction (const MatchFinder::MatchResult &Result, Replacements &Replace) |
| const StatementMatcher | WritePropertyMatcher (const std::string propertyName) |
| const StatementMatcher | ReadPropertyMatcher (const std::string propertyName) |
| void | RegisterForceAssignment (const MatchFinder::MatchResult &Result, Replacements &Replace) |
| void | RegisterForceRead (const MatchFinder::MatchResult &Result, Replacements &Replace) |
| template<PropertyList property> | |
| void | RegisterReadProperty (const MatchFinder::MatchResult &Result, Replacements &Replace) |
| template<PropertyList property> | |
| void | RegisterWriteProperty (const MatchFinder::MatchResult &Result, Replacements &Replace) |
| const std::string | getPropertyName (PropertyList property) |
|
strong |
| std::vector< bool > ws2st::dependency_detection::compute_domain_syncs | ( | ) |
Compute whether or not we should run a domain sync after each kernel.
| std::vector<bool> ws2st::dependency_detection::compute_domain_syncs_clever | ( | ) |
Compute whether or not we should run a domain sync after each kernel, as per Scott's algorithm in the report.
| std::vector< std::vector< std::string > > ws2st::dependency_detection::compute_halo_exchanges | ( | ) |
Compute which variables need to be exchanged after the execution of each kernel. exchanges[i] contains v if v needs to be exchanged after kernel i executes.
| void ws2st::dependency_detection::DefaultNeighbourSearchKernel | ( | const MatchFinder::MatchResult & | Result, |
| Replacements & | Replace | ||
| ) |
| std::vector<std::string> ws2st::dependency_detection::get_domain_sync_invalidated_halos | ( | ) |
| std::vector<std::string> ws2st::dependency_detection::get_force_kernel_read_variables | ( | ) |
Get all variables that are read by force kernels.
| const std::string ws2st::dependency_detection::getPropertyName | ( | PropertyList | property | ) |
| void ws2st::dependency_detection::HandleDomainSync | ( | const MatchFinder::MatchResult & | Result, |
| Replacements & | Replace | ||
| ) |
Rewriter callback for inserting domain syncs.
| void ws2st::dependency_detection::HandleFunctionCallInFunction | ( | const MatchFinder::MatchResult & | Result, |
| Replacements & | Replace | ||
| ) |
| void ws2st::dependency_detection::HandleHaloExchange | ( | const MatchFinder::MatchResult & | Result, |
| Replacements & | Replace | ||
| ) |
Rewriter callback for inserting domain syncs.
| void ws2st::dependency_detection::InsertInitialHaloExchange | ( | const MatchFinder::MatchResult & | Result, |
| Replacements & | Replace | ||
| ) |
| const StatementMatcher ws2st::dependency_detection::ReadPropertyMatcher | ( | const std::string | propertyName | ) |
| bool ws2st::dependency_detection::RecordAssignment | ( | std::string | function_name, |
| std::string | force_name | ||
| ) |
Record a force that is assigned to in a function.
| bool ws2st::dependency_detection::RecordRead | ( | std::string | function_name, |
| std::string | force_name | ||
| ) |
Record a force that is read from in function.
| void ws2st::dependency_detection::RegisterForceAssignment | ( | const MatchFinder::MatchResult & | Result, |
| Replacements & | Replace | ||
| ) |
| void ws2st::dependency_detection::RegisterForceKernel | ( | const MatchFinder::MatchResult & | Result, |
| Replacements & | Replace | ||
| ) |
| void ws2st::dependency_detection::RegisterForceRead | ( | const MatchFinder::MatchResult & | Result, |
| Replacements & | Replace | ||
| ) |
| void ws2st::dependency_detection::RegisterInitKernel | ( | const MatchFinder::MatchResult & | Result, |
| Replacements & | Replace | ||
| ) |
| void ws2st::dependency_detection::RegisterNeighbourSearchKernel | ( | const MatchFinder::MatchResult & | Result, |
| Replacements & | Replace | ||
| ) |
| void ws2st::dependency_detection::RegisterReadProperty | ( | const MatchFinder::MatchResult & | Result, |
| Replacements & | Replace | ||
| ) |
| void ws2st::dependency_detection::RegisterWriteProperty | ( | const MatchFinder::MatchResult & | Result, |
| Replacements & | Replace | ||
| ) |
| std::string ws2st::dependency_detection::RunHaloExchange | ( | std::vector< std::string > | exchanges | ) |
Generate code for a single halo exchange on a list of variables.
| void ws2st::dependency_detection::UnrollKernelDependencyLoop | ( | const MatchFinder::MatchResult & | Result, |
| Replacements & | Replace | ||
| ) |
Rewriter callback for unrolling the kernel loop.
| const StatementMatcher ws2st::dependency_detection::WritePropertyMatcher | ( | const std::string | propertyName | ) |
| StatementMatcher ws2st::dependency_detection::AccReadInFunction = ReadPropertyMatcher(getPropertyName(PropertyList::Acc)) |
| StatementMatcher ws2st::dependency_detection::AccWriteInFunction = WritePropertyMatcher(getPropertyName(PropertyList::Acc)) |
| StatementMatcher ws2st::dependency_detection::AddForceKernelMatcher |
| StatementMatcher ws2st::dependency_detection::AddInitKernelMatcher |
| StatementMatcher ws2st::dependency_detection::DensityReadInFunction = ReadPropertyMatcher(getPropertyName(PropertyList::Density)) |
| StatementMatcher ws2st::dependency_detection::DensityWriteInFunction = WritePropertyMatcher(getPropertyName(PropertyList::Density)) |
| StatementMatcher ws2st::dependency_detection::ForceAssignmentInFunction |
| StatementMatcher ws2st::dependency_detection::ForceReadInFunction |
| StatementMatcher ws2st::dependency_detection::GenericFunctionCallInFunction |
| DeclarationMatcher ws2st::dependency_detection::InitialHaloExchangeMatcher |
AST matcher for the empty _wash_initial_halo_exchange class.
| DeclarationMatcher ws2st::dependency_detection::InsertDomainSyncsMatcher |
AST matcher for the empty _domain_syncs class.
| DeclarationMatcher ws2st::dependency_detection::InsertHaloExchangeMatcher |
AST matcher for the empty _halo_exchange class.
| DeclarationMatcher ws2st::dependency_detection::LoopRewriteMatcher |
AST matcher for the empty _wash_loop_rewriter class.
| StatementMatcher ws2st::dependency_detection::MassReadInFunction = ReadPropertyMatcher(getPropertyName(PropertyList::Mass)) |
| StatementMatcher ws2st::dependency_detection::MassWriteInFunction = WritePropertyMatcher(getPropertyName(PropertyList::Mass)) |
| StatementMatcher ws2st::dependency_detection::PosReadInFunction = ReadPropertyMatcher(getPropertyName(PropertyList::Pos)) |
| StatementMatcher ws2st::dependency_detection::PosWriteInFunction = WritePropertyMatcher(getPropertyName(PropertyList::Pos)) |
| WashCallbackFn ws2st::dependency_detection::RegisterAccRead = RegisterReadProperty<PropertyList::Acc> |
| WashCallbackFn ws2st::dependency_detection::RegisterAccWrite = RegisterWriteProperty<PropertyList::Acc> |
| WashCallbackFn ws2st::dependency_detection::RegisterDensityRead = RegisterReadProperty<PropertyList::Density> |
| WashCallbackFn ws2st::dependency_detection::RegisterDensityWrite = RegisterWriteProperty<PropertyList::Density> |
| WashCallbackFn ws2st::dependency_detection::RegisterMassRead = RegisterReadProperty<PropertyList::Mass> |
| WashCallbackFn ws2st::dependency_detection::RegisterMassWrite = RegisterWriteProperty<PropertyList::Mass> |
| WashCallbackFn ws2st::dependency_detection::RegisterPosRead = RegisterReadProperty<PropertyList::Pos> |
| WashCallbackFn ws2st::dependency_detection::RegisterPosWrite = RegisterWriteProperty<PropertyList::Pos> |
| WashCallbackFn ws2st::dependency_detection::RegisterSmoothingLengthRead = RegisterReadProperty<PropertyList::SmoothingLength> |
| WashCallbackFn ws2st::dependency_detection::RegisterSmoothingLengthWrite = RegisterWriteProperty<PropertyList::SmoothingLength> |
| WashCallbackFn ws2st::dependency_detection::RegisterVelRead = RegisterReadProperty<PropertyList::Vel> |
| WashCallbackFn ws2st::dependency_detection::RegisterVelWrite = RegisterWriteProperty<PropertyList::Vel> |
| StatementMatcher ws2st::dependency_detection::SetDefaultNeighbourSearchKernelMatcher |
| StatementMatcher ws2st::dependency_detection::SetNeighbourSearchKernelMatcher |
| StatementMatcher ws2st::dependency_detection::SmoothingLengthReadInFunction = ReadPropertyMatcher(getPropertyName(PropertyList::SmoothingLength)) |
| StatementMatcher ws2st::dependency_detection::SmoothingLengthWriteInFunction = WritePropertyMatcher(getPropertyName(PropertyList::SmoothingLength)) |
| StatementMatcher ws2st::dependency_detection::VelReadInFunction = ReadPropertyMatcher(getPropertyName(PropertyList::Vel)) |
| StatementMatcher ws2st::dependency_detection::VelWriteInFunction = WritePropertyMatcher(getPropertyName(PropertyList::Vel)) |
1.8.14