12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- /******************************************************************************
- * Copyright 2020 The Apollo Authors. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *****************************************************************************/
- /*
- * Copyright 2018-2019 Autoware Foundation. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- /**
- * @file scatter_cuda.h
- * @brief CUDA code for scatter operation
- * @author Kosuke Murakami
- * @date 2019/02/26
- */
- #pragma once
- namespace apollo {
- namespace perception {
- namespace lidar {
- class ScatterCuda {
- private:
- const int num_threads_;
- const int grid_x_size_;
- const int grid_y_size_;
- public:
- /**
- * @brief Constructor
- * @param[in] num_threads The number of threads to launch cuda kernel
- * @param[in] grid_x_size Number of pillars in x-coordinate
- * @param[in] grid_y_size Number of pillars in y-coordinate
- * @details Captital variables never change after the compile
- */
- ScatterCuda(const int num_threads, const int grid_x_size,
- const int grid_y_size);
- /**
- * @brief Call scatter cuda kernel
- * @param[in] pillar_count The valid number of pillars
- * @param[in] x_coors X-coordinate indexes for corresponding pillars
- * @param[in] y_coors Y-coordinate indexes for corresponding pillars
- * @param[in] pfe_output Output from Pillar Feature Extractor
- * @param[out] scattered_feature Gridmap representation for pillars' feature
- * @details Allocate pillars in gridmap based on index(coordinates)
- * information
- */
- void DoScatterCuda(const int pillar_count, int* x_coors, int* y_coors,
- float* pfe_output, float* scattered_feature);
- };
- } // namespace lidar
- } // namespace perception
- } // namespace apollo
|