Lines Matching refs:std
47 constexpr V1_2::Timing kNoTiming12 = {std::numeric_limits<uint64_t>::max(),
48 std::numeric_limits<uint64_t>::max()};
52 using Callback = std::function<void()>;
70 std::vector<FmqRequestDatum> serialize(const V1_0::Request& request, V1_2::MeasureTiming measure, in serialize()
71 const std::vector<int32_t>& slots) { in serialize()
82 std::vector<FmqRequestDatum> data; in serialize()
151 std::optional<std::tuple<V1_0::ErrorStatus, std::vector<V1_2::OutputShape>, V1_2::Timing>>
152 deserialize(const std::vector<FmqResultDatum>& data) { in deserialize()
155 std::vector<V1_2::OutputShape> outputShapes; in deserialize()
161 return std::nullopt; in deserialize()
174 return std::nullopt; in deserialize()
182 return std::nullopt; in deserialize()
192 std::vector<uint32_t> dimensions; in deserialize()
198 return std::nullopt; in deserialize()
216 return std::nullopt; in deserialize()
226 return std::nullopt; in deserialize()
230 return std::make_tuple(errorStatus, std::move(outputShapes), timing); in deserialize()
237 std::pair<std::unique_ptr<ResultChannelReceiver>, const FmqResultDescriptor*>
238 ResultChannelReceiver::create(size_t channelLength, std::chrono::microseconds pollingTimeWindow) { in create()
239 std::unique_ptr<FmqResultChannel> fmqResultChannel = in create()
240 std::make_unique<FmqResultChannel>(channelLength, /*confEventFlag=*/true); in create()
247 return std::make_pair( in create()
248 std::make_unique<ResultChannelReceiver>(std::move(fmqResultChannel), pollingTimeWindow), in create()
252 ResultChannelReceiver::ResultChannelReceiver(std::unique_ptr<FmqResultChannel> fmqResultChannel, in ResultChannelReceiver()
253 std::chrono::microseconds pollingTimeWindow) in ResultChannelReceiver()
254 : mFmqResultChannel(std::move(fmqResultChannel)), kPollingTimeWindow(pollingTimeWindow) {} in ResultChannelReceiver()
256 std::optional<std::tuple<V1_0::ErrorStatus, std::vector<V1_2::OutputShape>, V1_2::Timing>>
260 return std::nullopt; in getBlocking()
283 std::optional<std::vector<FmqResultDatum>> ResultChannelReceiver::getPacketBlocking() { in getPacketBlocking()
285 return std::nullopt; in getPacketBlocking()
293 auto& getCurrentTime = std::chrono::high_resolution_clock::now; in getPacketBlocking()
298 if (!mValid.load(std::memory_order_relaxed)) { in getPacketBlocking()
299 return std::nullopt; in getPacketBlocking()
306 std::vector<FmqResultDatum> packet(available); in getPacketBlocking()
310 return std::nullopt; in getPacketBlocking()
312 return std::make_optional(std::move(packet)); in getPacketBlocking()
315 std::this_thread::yield(); in getPacketBlocking()
334 std::vector<FmqResultDatum> packet(count + 1); in getPacketBlocking()
335 std::memcpy(&packet.front(), &datum, sizeof(datum)); in getPacketBlocking()
339 return std::nullopt; in getPacketBlocking()
345 return std::nullopt; in getPacketBlocking()
348 return std::make_optional(std::move(packet)); in getPacketBlocking()
351 std::pair<std::unique_ptr<RequestChannelSender>, const FmqRequestDescriptor*>
353 std::unique_ptr<FmqRequestChannel> fmqRequestChannel = in create()
354 std::make_unique<FmqRequestChannel>(channelLength, /*confEventFlag=*/true); in create()
361 return std::make_pair(std::make_unique<RequestChannelSender>(std::move(fmqRequestChannel)), in create()
365 RequestChannelSender::RequestChannelSender(std::unique_ptr<FmqRequestChannel> fmqRequestChannel) in RequestChannelSender()
366 : mFmqRequestChannel(std::move(fmqRequestChannel)) {} in RequestChannelSender()
369 const std::vector<int32_t>& slots) { in send()
370 const std::vector<FmqRequestDatum> serialized = serialize(request, measure, slots); in send()
374 bool RequestChannelSender::sendPacket(const std::vector<FmqRequestDatum>& packet) { in sendPacket()
396 std::lock_guard<std::mutex> guard(mMutex); in getMemories()
400 std::transform(slots.begin(), slots.end(), memories.begin(), [this](int32_t slot) { in getMemories()
405 if (!std::all_of(memories.begin(), memories.end(), in getMemories()
412 cb(V1_0::ErrorStatus::NONE, std::move(memories)); in getMemories()
416 std::vector<int32_t> ExecutionBurstController::ExecutionBurstCallback::getSlots( in getSlots()
418 const std::vector<intptr_t>& keys) { in getSlots()
419 std::lock_guard<std::mutex> guard(mMutex); in getSlots()
422 std::vector<int32_t> slots; in getSlots()
430 std::pair<bool, int32_t> ExecutionBurstController::ExecutionBurstCallback::freeMemory( in freeMemory()
432 std::lock_guard<std::mutex> guard(mMutex); in freeMemory()
460 constexpr size_t kMaxNumberOfSlots = std::numeric_limits<int32_t>::max(); in allocateSlotLocked()
477 std::unique_ptr<ExecutionBurstController> ExecutionBurstController::create( in create()
479 std::chrono::microseconds pollingTimeWindow) { in create()
494 std::shared_ptr<RequestChannelSender> requestChannelSender = in create()
495 std::move(requestChannelSenderTemp); in create()
496 std::shared_ptr<ResultChannelReceiver> resultChannelReceiver = in create()
497 std::move(resultChannelReceiverTemp); in create()
553 return std::make_unique<ExecutionBurstController>(requestChannelSender, resultChannelReceiver, in create()
558 const std::shared_ptr<RequestChannelSender>& requestChannelSender, in ExecutionBurstController()
559 const std::shared_ptr<ResultChannelReceiver>& resultChannelReceiver, in ExecutionBurstController()
578 static std::tuple<int, std::vector<V1_2::OutputShape>, V1_2::Timing, bool> getExecutionResult( in getExecutionResult()
579 V1_0::ErrorStatus status, std::vector<V1_2::OutputShape> outputShapes, V1_2::Timing timing, in getExecutionResult()
582 getExecutionResult(convertToV1_3(status), std::move(outputShapes), timing); in getExecutionResult()
586 std::tuple<int, std::vector<V1_2::OutputShape>, V1_2::Timing, bool>
588 const std::vector<intptr_t>& memoryIds) { in compute()
596 std::lock_guard<std::mutex> guard(mMutex); in compute()
599 const std::vector<int32_t> slots = mMemoryCache->getSlots(request.pools, memoryIds); in compute()
619 auto [status, outputShapes, timing] = std::move(*result); in compute()
620 return getExecutionResult(status, std::move(outputShapes), timing, /*fallback=*/false); in compute()
624 std::lock_guard<std::mutex> guard(mMutex); in freeMemory()
628 std::tie(valid, slot) = mMemoryCache->freeMemory(key); in freeMemory()