0
剛剛在Ubuntu 15.04安裝cuda 7.5。出於某種原因,我的索引器沒有選擇任何cuda函數。我不知道爲什麼。代碼編譯得很好,但我發現它不能按Ctrl + Space並查看我的選項。我試圖包含一些cuda頭文件,但這似乎沒有幫助。索引器適用於所有stl函數,但沒有任何以cuda開頭的函數在自動完成中顯示。CUDA 7.5問題與nsight蝕食版索引器
#include <iostream>
#include <fstream>
#include <cmath>
#include <vector>
#include <cuda.h>
#include <cuda_runtime.h>
#include <cuda_device_runtime_api.h>
inline void cuda_error(cudaError_t code, const char* lbl)
{
if(code != cudaSuccess)
{
std::cerr << lbl << " : " << cudaGetErrorString(code) << std::endl;
exit(1);
}
}
struct City
{
int n;
float x, y;
City(int n_ = 0, float x_ = 0, float y_ = 0) : n(n_), x(x_), y(y_) { }
__host__ __device__ float fast_distance(const City& other)
{
float dx = other.x - x;
float dy = other.y - y;
return dx * dx + dy * dy;
}
__host__ __device__ float distance(const City& other)
{
float dx = other.x - x;
float dy = other.y - y;
return sqrtf(dx * dx + dy * dy);
}
};
int main()
{
using namespace std;
ifstream fin("input.txt");
vector<City> citites;
City c;
while(fin >> c.n >> c.x >> c.y)
citites.push_back(c);
City* cities_d;
//if I start typing cuda and hit ctrl + space there are no option displayed
cudaMalloc(&cities_d, sizeof(City) * citites.size());
cudaMemcpy(cities_d, citites.data(), citites.size() * sizeof(City), cudaMemcpyHostToDevice);
return 0;
}