24 #ifndef EXATN_NUMERICS_HPP_
25 #define EXATN_NUMERICS_HPP_
27 #include "num_server.hpp"
36 inline ScopeId
openScope(
const std::string & scope_name)
50 {
return numericalServer->createVectorSpace(space_name,space_dim,space_ptr);}
64 const std::string & space_name,
65 const std::pair<DimOffset,DimOffset> bounds,
66 const Subspace ** subspace_ptr =
nullptr)
67 {
return numericalServer->createSubspace(subspace_name,space_name,bounds,subspace_ptr);}
86 std::shared_ptr<TensorMethod> method)
97 std::shared_ptr<BytePacket> packet)
108 template <
typename... Args>
110 TensorElementType element_type,
114 template <
typename... Args>
115 inline bool createTensorSync(
const std::string & name,
116 TensorElementType element_type,
135 inline bool destroyTensorSync(
const std::string & name)
140 template<
typename NumericType>
145 template<
typename NumericType>
146 inline bool initTensorSync(
const std::string & name,
153 std::shared_ptr<TensorMethod> functor)
156 inline bool transformTensorSync(
const std::string & name,
157 std::shared_ptr<TensorMethod> functor)
162 template<
typename NumericType>
167 template<
typename NumericType>
168 inline bool addTensorsSync(
const std::string & addition,
174 template<
typename NumericType>
179 template<
typename NumericType>
180 inline bool contractTensorsSync(
const std::string & contraction,
187 const std::string & network)
190 inline bool evaluateTensorNetworkSync(
const std::string & name,
191 const std::string & network)
196 inline bool sync(
const std::string & name,
204 inline std::shared_ptr<talsh::Tensor>
getLocalTensor(std::shared_ptr<Tensor> tensor,
205 const std::vector<std::pair<DimOffset,DimExtent>> & slice_spec)
208 inline std::shared_ptr<talsh::Tensor>
getLocalTensor(
const std::string & name,
209 const std::vector<std::pair<DimOffset,DimExtent>> & slice_spec)
212 inline std::shared_ptr<talsh::Tensor>
getLocalTensor(
const std::string & name)
222 #endif //EXATN_NUMERICS_HPP_