Skip to content
Merged
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
4 changes: 4 additions & 0 deletions projects/rocfft/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ Documentation for rocFFT is available at

## (Unreleased) rocFFT 1.0.41

### Resolved issues

* Fixed possible failures of `rocfft_plan_create` for multi-device plans.

## rocFFT 1.0.40 for ROCm 10.1

### Added
Expand Down
3 changes: 3 additions & 0 deletions projects/rocfft/clients/tests/multi_device_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -417,6 +417,9 @@ static const auto multi_gpu_tokens = {

// 2D, 2-device out-of-place transform where both devices require work memory
"complex_forward_len_8_65536_8_single_op_batch_1_ifield_brick_lower_0_0_0_0_upper_1_8_32768_8_stride_2097152_262144_8_1_dev_0_brick_lower_0_0_32768_0_upper_1_8_65536_8_stride_2097152_262144_8_1_dev_1_ofield_brick_lower_0_0_0_0_upper_1_8_65536_4_stride_2097152_262144_4_1_dev_0_brick_lower_0_0_0_4_upper_1_8_65536_8_stride_2097152_262144_4_1_dev_1",
// 3D 8-device decomposition with an unbalanceable slow-dim pencil factorization
// exercises the BuildOptMultiDevicePlan exception-safety fallback
"complex_forward_len_8_2_2_single_op_batch_1_ifield_brick_lower_0_0_0_0_upper_1_2_1_2_stride_4_2_2_1_dev_0_brick_lower_0_0_1_0_upper_1_2_2_2_stride_4_2_2_1_dev_1_brick_lower_0_2_0_0_upper_1_4_1_2_stride_4_2_2_1_dev_2_brick_lower_0_2_1_0_upper_1_4_2_2_stride_4_2_2_1_dev_3_brick_lower_0_4_0_0_upper_1_6_1_2_stride_4_2_2_1_dev_4_brick_lower_0_4_1_0_upper_1_6_2_2_stride_4_2_2_1_dev_5_brick_lower_0_6_0_0_upper_1_8_1_2_stride_4_2_2_1_dev_6_brick_lower_0_6_1_0_upper_1_8_2_2_stride_4_2_2_1_dev_7_ofield_brick_lower_0_0_0_0_upper_1_8_1_1_stride_8_1_1_1_dev_0_brick_lower_0_0_0_1_upper_1_8_1_2_stride_8_1_1_1_dev_1_brick_lower_0_0_1_0_upper_1_8_2_1_stride_8_1_1_1_dev_2_brick_lower_0_0_1_1_upper_1_8_2_2_stride_8_1_1_1_dev_3",
// clang-format on
};

Expand Down
8 changes: 7 additions & 1 deletion projects/rocfft/library/src/include/plan.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (C) 2016 - 2023 Advanced Micro Devices, Inc. All rights reserved.
// Copyright (C) 2016 - 2026 Advanced Micro Devices, Inc. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand Down Expand Up @@ -506,6 +506,12 @@ struct rocfft_plan_t
std::vector<bool>& visited,
std::vector<size_t>& sorted) const;

// Shared handler for the Build*MultiDevicePlan function-try-blocks: log the
// in-flight exception and discard any partial plan state so plan creation
// can fall back to another path. `except_what` is null for unknown
// (non-std::exception) throws.
void discard_failed_multi_device_plan(const std::string& calling_func, const char* except_what);

// Temp buffers allocated during plan creation for multi-device
// plans are remembered here. Mapped per-location. Individual
// plan items can have void*'s that point to these buffers.
Expand Down
Loading
Loading