| 126 | * - Both runs compute the same output |
| 127 | */ |
| 128 | TEST_CASE(ActivationAPI, framework::DatasetMode::ALL) |
| 129 | { |
| 130 | acl::StatusCode err = acl::StatusCode::Success; |
| 131 | |
| 132 | // Create context & Queue |
| 133 | acl::Context ctx(acl::Target::Cpu, &err); |
| 134 | ARM_COMPUTE_ASSERT(err == acl::StatusCode::Success); |
| 135 | |
| 136 | acl::Queue queue(ctx, &err); |
| 137 | ARM_COMPUTE_ASSERT(err == acl::StatusCode::Success); |
| 138 | |
| 139 | // Create activation operator |
| 140 | acl::TensorDescriptor src_info({2, 3}, acl::DataType::Float32); |
| 141 | acl::TensorDescriptor dst_info({2, 3}, acl::DataType::Float32); |
| 142 | acl::ActivationDesc desc{AclRelu, 6.f, 0.f, false}; |
| 143 | |
| 144 | acl::Activation act(ctx, src_info, dst_info, desc, &err); |
| 145 | ARM_COMPUTE_ASSERT(err == acl::StatusCode::Success); |
| 146 | |
| 147 | // Create tensors and feed |
| 148 | acl::Tensor src(ctx, src_info, &err); |
| 149 | ARM_COMPUTE_ASSERT(err == acl::StatusCode::Success); |
| 150 | acl::Tensor dst(ctx, dst_info, &err); |
| 151 | ARM_COMPUTE_ASSERT(err == acl::StatusCode::Success); |
| 152 | |
| 153 | acl::TensorPack pack(ctx); |
| 154 | err = pack.add(src, ACL_SRC); |
| 155 | err = pack.add(dst, ACL_DST); |
| 156 | ARM_COMPUTE_ASSERT(err == acl::StatusCode::Success); |
| 157 | |
| 158 | // Execute operator |
| 159 | err = act.run(queue, pack); |
| 160 | ARM_COMPUTE_ASSERT(err == acl::StatusCode::Success); |
| 161 | } |
| 162 | |
| 163 | // *INDENT-OFF* |
| 164 | // clang-format off |