上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 34 下一页

【小记录】android命令行程序发生coredump后读取堆栈信息

摘要: 一开始执行: 然后查看coredump文件信息: 执行: 然后启动 ./test_xxx 发生coredump后在另一个窗口看见了详细的coredump信息 阅读全文
posted @ 2019-10-09 21:29 ahfuzhang 阅读(921) 评论(0) 推荐(0)

android ndk下没有pthread_yield,好在std::this_thread::yield()可以达到同样的效果

摘要: 一个多线程的算法中,发现线程利用率只有47%左右,大量的处理时间因为usleep(500)而导致线程睡眠; 性能始终上不去。 把usleep(500)修改为std::this_thread::yield()后,程序性能提升了20%,线程利用率达到76%。 阅读全文
posted @ 2019-10-09 09:51 ahfuzhang 阅读(649) 评论(0) 推荐(0)

【小记录】arm64下的原子加

摘要: 1.代码中使用atomic_add aarch64下面并没有任何关于atomic的头文件 编译出现错误: 2.怀疑是clang的问题,尝试换gcc编译 Application.mk 中加上一行: NDK_TOOLCHAIN := aarch64 linux android 4.9 编译出现: 3. 阅读全文
posted @ 2019-10-05 04:58 ahfuzhang 阅读(806) 评论(0) 推荐(0)

【记录一个问题】android ndk下设置线程的亲缘性,总有两个核无法设置成功

摘要: 参考了这篇文章:https://blog.csdn.net/lanyzh0909/article/details/50404664 大体的代码如下: 在高通骁龙835处理器上,始终打印如下内容: warning: could not set CPU 7 affinity, continuing... 阅读全文
posted @ 2019-10-04 23:59 ahfuzhang 阅读(754) 评论(0) 推荐(0)

【记录一个问题】android下的ucontext协程,因为使用栈上的对象,导致cv::Mat被莫名析构

摘要: 工作的流程是这样:某个协程在栈上创建task对象,在task对象内有需要返回的cv::Mat。 然后把task放到另一个线程上去执行,然后切换到别的协程,等到工作线程执行完task后,再唤醒协程。 这时候协程内去访问cv::Mat使用是empty。 同样的代码,task对象不是在栈上创建,而是new 阅读全文
posted @ 2019-10-02 23:07 ahfuzhang 阅读(309) 评论(0) 推荐(0)

【记录一个问题】android opencl c++: 使用event.SetCallBack()方法后,在回调函数中要再使用event.wait()才能得到profile信息

摘要: 如题:希望执行完成后得到各个阶段的执行时间,但是通过回调发现start, end, submit, queued等时间都是0 因此要在回调函数中再使用一次event.wait(),然后才能获得profile数据。 阅读全文
posted @ 2019-09-28 21:50 ahfuzhang 阅读(250) 评论(0) 推荐(0)

【记录一个问题】android opencl c++: 不要Context, CommandQueue类的赋值函数

摘要: 一开始代码中这样写了: cl::Context ctx = cl::Context(CL_DEVICE_TYPE_GPU, NULL); cl::CommandQueue queue= cl::CommandQueue(ctx, devices[device_index], CL_QUEUE_PRO 阅读全文
posted @ 2019-09-28 21:47 ahfuzhang 阅读(357) 评论(0) 推荐(0)

【记录一个问题】macos下使用opencl, clSetEventCallback不生效

摘要: 一开始的调用顺序是这样: enqueueWriteBuffer enqueueNDRangeKernel enqueueReadBuffer SetEventCallback 执行后主程序用getchar()等待,但回调函数没有被触发。 ========= 修改函数调用顺序: SetEventCal 阅读全文
posted @ 2019-09-23 14:34 ahfuzhang 阅读(331) 评论(0) 推荐(0)

【记录一个问题】opencl的clGetPlatformIDs()在cuda 9下返回-1001(找不到GPU平台)

摘要: 如题:在cuda9, nvidia驱动版本 384.81 的环境下运行opencl程序,在clGetPlatformIDs()函数中返回 1001错误。 把环境更换为cuda 10,驱动版本410.104,运行正常。 错误原因未知,直接更换环境解决了这个问题。 阅读全文
posted @ 2019-09-02 12:09 ahfuzhang 阅读(754) 评论(0) 推荐(0)

【记录一个问题】ndk下使用c++11的condition_variable问题较多

摘要: 1.存在通知丢失的情况:生产者线程通知196次,消费者线程收到190次,导致部分数据无法被处理。 2.cond.wait()方法后的加锁有问题,导致对空队列进行出队操作然后coredump。一直记得wait()之后会重新获得锁的! 暂未找到原因,用轮训+睡眠的笨办法代替了条件变量。 阅读全文
posted @ 2019-08-31 19:02 ahfuzhang 阅读(308) 评论(0) 推荐(0)
上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 34 下一页