由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 被opengl害惨了!
相关主题
C++ Software Engineer 工作求内推(Boston)总结一下kaggle比赛
关于多线程编程的一个问题关于搞ML刷数据的职业前途
xeon phi就是翔啊有没有大牛愿意牵头搞一个 deep learning project
java大概还有多久才能和C++一样快呢?computer graphics/vision 领域用哪种语言最多?
程序占用很大内存我们组招人,工作内容与opengl和3D modeling有关
Andriod 虚拟机速度十分卡什么原因? (转载)如何做GUI
招GPU工程师 (转载)怎样提高C#计算程序的performance?
kaggle上那批人太逆天了问个C++编译器如何处理函数内的static 变量
相关话题的讨论汇总
话题: opengl话题: 线程话题: 害惨话题: c++话题: thread
进入Programming版参与讨论
1 (共1页)
w***g
发帖数: 5958
1
今天一整天都在debug一个opengl程序,终于搞明白了:
opengl不是thread-safe的,即使加锁都不行!
也就是说,如果不加特殊处理,如果一个程序里面所有的gl
操作不是在同一个线程里完成,结果就会出错!
倒霉的状态机设计我就不说了,反正从来没见过这么坑爹的库。
N*****m
发帖数: 42603
2
你又用opengl干啥?

【在 w***g 的大作中提到】
: 今天一整天都在debug一个opengl程序,终于搞明白了:
: opengl不是thread-safe的,即使加锁都不行!
: 也就是说,如果不加特殊处理,如果一个程序里面所有的gl
: 操作不是在同一个线程里完成,结果就会出错!
: 倒霉的状态机设计我就不说了,反正从来没见过这么坑爹的库。

w***g
发帖数: 5958
3
还不是为了搞kaggle那个比赛。我想试试三维的神经网络,
但是要对三维数据进行带旋转的采样是一个非常expensive
的操作,如果用CPU做的话第一可能跟不上GPU训练速度,
第二也找不到开源的库来做这个事情,所以我在用opengl,
通过对三维texture进行采样来得到训练样本。
我估计结果不会好,但是这个project本身很有意思,
opengl用内置显卡,tensorflow用外置显卡,一个程序把
机器的所有计算能力全都发掘出来了。

【在 N*****m 的大作中提到】
: 你又用opengl干啥?
w***g
发帖数: 5958
4
kaggle那个比赛我已经做得快绝望了,目前毫无任何增长点。
还有半个月,只求善始善终做到最后。

【在 w***g 的大作中提到】
: 还不是为了搞kaggle那个比赛。我想试试三维的神经网络,
: 但是要对三维数据进行带旋转的采样是一个非常expensive
: 的操作,如果用CPU做的话第一可能跟不上GPU训练速度,
: 第二也找不到开源的库来做这个事情,所以我在用opengl,
: 通过对三维texture进行采样来得到训练样本。
: 我估计结果不会好,但是这个project本身很有意思,
: opengl用内置显卡,tensorflow用外置显卡,一个程序把
: 机器的所有计算能力全都发掘出来了。

N*****m
发帖数: 42603
5
搞两块显卡不行?

【在 w***g 的大作中提到】
: 还不是为了搞kaggle那个比赛。我想试试三维的神经网络,
: 但是要对三维数据进行带旋转的采样是一个非常expensive
: 的操作,如果用CPU做的话第一可能跟不上GPU训练速度,
: 第二也找不到开源的库来做这个事情,所以我在用opengl,
: 通过对三维texture进行采样来得到训练样本。
: 我估计结果不会好,但是这个project本身很有意思,
: opengl用内置显卡,tensorflow用外置显卡,一个程序把
: 机器的所有计算能力全都发掘出来了。

w***g
发帖数: 5958
6
一块显卡其实也可以同时跑opengl和cuda。
不过作为星宿派,总是要折腾下的。
把本来闲置的内置显卡用起来得到的满足感
非常大。

【在 N*****m 的大作中提到】
: 搞两块显卡不行?
c*****e
发帖数: 3226
7
那就 serialize operations。

【在 w***g 的大作中提到】
: 今天一整天都在debug一个opengl程序,终于搞明白了:
: opengl不是thread-safe的,即使加锁都不行!
: 也就是说,如果不加特殊处理,如果一个程序里面所有的gl
: 操作不是在同一个线程里完成,结果就会出错!
: 倒霉的状态机设计我就不说了,反正从来没见过这么坑爹的库。

c*********e
发帖数: 16335
8
库名字是啥?我一般用opengl的库来画3d图,一般是javascript的。

【在 w***g 的大作中提到】
: 今天一整天都在debug一个opengl程序,终于搞明白了:
: opengl不是thread-safe的,即使加锁都不行!
: 也就是说,如果不加特殊处理,如果一个程序里面所有的gl
: 操作不是在同一个线程里完成,结果就会出错!
: 倒霉的状态机设计我就不说了,反正从来没见过这么坑爹的库。

w*****r
发帖数: 197
9
这就是为啥opengl的渲染例程都是用回调函数实现的。在网上GPU体绘制的code很多,
在此基础上改成你需要的函数会容易很多。

【在 w***g 的大作中提到】
: 今天一整天都在debug一个opengl程序,终于搞明白了:
: opengl不是thread-safe的,即使加锁都不行!
: 也就是说,如果不加特殊处理,如果一个程序里面所有的gl
: 操作不是在同一个线程里完成,结果就会出错!
: 倒霉的状态机设计我就不说了,反正从来没见过这么坑爹的库。

x****u
发帖数: 44466
10
教你一个大杀器,就是ms的apartment线程
你把操作包到一个com的idispatch子类里,列集化后传给工作线程,什么事情都可以跟
nodejs一样异步到主线程干,线程安全锁都不用写

【在 w***g 的大作中提到】
: 今天一整天都在debug一个opengl程序,终于搞明白了:
: opengl不是thread-safe的,即使加锁都不行!
: 也就是说,如果不加特殊处理,如果一个程序里面所有的gl
: 操作不是在同一个线程里完成,结果就会出错!
: 倒霉的状态机设计我就不说了,反正从来没见过这么坑爹的库。

相关主题
Andriod 虚拟机速度十分卡什么原因? (转载)总结一下kaggle比赛
招GPU工程师 (转载)关于搞ML刷数据的职业前途
kaggle上那批人太逆天了有没有大牛愿意牵头搞一个 deep learning project
进入Programming版参与讨论
v****n
发帖数: 362
11
拿螺丝刀当钳子用,还怪螺丝刀坑爹。

【在 w***g 的大作中提到】
: 今天一整天都在debug一个opengl程序,终于搞明白了:
: opengl不是thread-safe的,即使加锁都不行!
: 也就是说,如果不加特殊处理,如果一个程序里面所有的gl
: 操作不是在同一个线程里完成,结果就会出错!
: 倒霉的状态机设计我就不说了,反正从来没见过这么坑爹的库。

L****8
发帖数: 3938
12
可以用vtk 或者 itk 搞三维采样

【在 w***g 的大作中提到】
: 今天一整天都在debug一个opengl程序,终于搞明白了:
: opengl不是thread-safe的,即使加锁都不行!
: 也就是说,如果不加特殊处理,如果一个程序里面所有的gl
: 操作不是在同一个线程里完成,结果就会出错!
: 倒霉的状态机设计我就不说了,反正从来没见过这么坑爹的库。

w***g
发帖数: 5958
13
多谢,来吐槽的时候就已经搞定了。vtk我感觉水很深一直没启用,看开还是得学习一
下。

【在 L****8 的大作中提到】
: 可以用vtk 或者 itk 搞三维采样
c*********e
发帖数: 16335
14
星期五一整天,你在倒腾什么比赛?你啥工作?

【在 w***g 的大作中提到】
: 今天一整天都在debug一个opengl程序,终于搞明白了:
: opengl不是thread-safe的,即使加锁都不行!
: 也就是说,如果不加特殊处理,如果一个程序里面所有的gl
: 操作不是在同一个线程里完成,结果就会出错!
: 倒霉的状态机设计我就不说了,反正从来没见过这么坑爹的库。

c*********e
发帖数: 16335
15
node.js里用opengl不是更好?c#里的那也能叫async?

【在 x****u 的大作中提到】
: 教你一个大杀器,就是ms的apartment线程
: 你把操作包到一个com的idispatch子类里,列集化后传给工作线程,什么事情都可以跟
: nodejs一样异步到主线程干,线程安全锁都不用写

w***x
发帖数: 105
16
其实很简单点事,每个ctx一定要make current,和你当前的render surface绑定。
两个thread,可以并行用不同的ctx而不用加锁,一个ctx用在两个thread上,一定要
mutex保护序列化操作。

【在 w***g 的大作中提到】
: 今天一整天都在debug一个opengl程序,终于搞明白了:
: opengl不是thread-safe的,即使加锁都不行!
: 也就是说,如果不加特殊处理,如果一个程序里面所有的gl
: 操作不是在同一个线程里完成,结果就会出错!
: 倒霉的状态机设计我就不说了,反正从来没见过这么坑爹的库。

w***g
发帖数: 5958
17
我是几乎把opengl的红书读完的,不记得提到多线程编程。
一般来说linux下的东西一个进程内所有的线程共享资源的,
比如一个线程内分配的内存,可以用另一个线程释放,保证同步就行。
偶尔有thread-local的东西也都是透明的。很少有opengl这种
显式特定于线程的资源。我少见多怪了。

【在 w***x 的大作中提到】
: 其实很简单点事,每个ctx一定要make current,和你当前的render surface绑定。
: 两个thread,可以并行用不同的ctx而不用加锁,一个ctx用在两个thread上,一定要
: mutex保护序列化操作。

b***i
发帖数: 3043
18
什么语言呢?C++吗?

【在 w***g 的大作中提到】
: 我是几乎把opengl的红书读完的,不记得提到多线程编程。
: 一般来说linux下的东西一个进程内所有的线程共享资源的,
: 比如一个线程内分配的内存,可以用另一个线程释放,保证同步就行。
: 偶尔有thread-local的东西也都是透明的。很少有opengl这种
: 显式特定于线程的资源。我少见多怪了。

w***x
发帖数: 105
19
其实这些ogl spec里都有详细描述的,不过app开发者很少有看spec的,开发driver的
是必看。
不只是ogl对多线程支持有限,d3d也不好,最新的vulkan据说有真正支持。
ogl的状态机设计有几乎30年的历史了吧,虽然现在很让人诟病,但不得不说当初的设
计还是很牛逼的。

【在 w***g 的大作中提到】
: 我是几乎把opengl的红书读完的,不记得提到多线程编程。
: 一般来说linux下的东西一个进程内所有的线程共享资源的,
: 比如一个线程内分配的内存,可以用另一个线程释放,保证同步就行。
: 偶尔有thread-local的东西也都是透明的。很少有opengl这种
: 显式特定于线程的资源。我少见多怪了。

x****u
发帖数: 44466
20
nodejs目前代替不了C++啊

【在 c*********e 的大作中提到】
: node.js里用opengl不是更好?c#里的那也能叫async?
相关主题
computer graphics/vision 领域用哪种语言最多?怎样提高C#计算程序的performance?
我们组招人,工作内容与opengl和3D modeling有关问个C++编译器如何处理函数内的static 变量
如何做GUIOpening: 3D Software and Algorithm Engineer (转载)
进入Programming版参与讨论
c*********e
发帖数: 16335
21
这的大神都是c++的。goodbug是java的,被骂走了。

【在 b***i 的大作中提到】
: 什么语言呢?C++吗?
k**0
发帖数: 19737
22
胡说,是打赌输了

【在 c*********e 的大作中提到】
: 这的大神都是c++的。goodbug是java的,被骂走了。
N*****m
发帖数: 42603
23
瞎说,本版用java的不少

【在 c*********e 的大作中提到】
: 这的大神都是c++的。goodbug是java的,被骂走了。
1 (共1页)
进入Programming版参与讨论
相关主题
问个C++编译器如何处理函数内的static 变量程序占用很大内存
Opening: 3D Software and Algorithm Engineer (转载)Andriod 虚拟机速度十分卡什么原因? (转载)
问一个windows下编译openGL code的问题招GPU工程师 (转载)
请推荐IDEkaggle上那批人太逆天了
C++ Software Engineer 工作求内推(Boston)总结一下kaggle比赛
关于多线程编程的一个问题关于搞ML刷数据的职业前途
xeon phi就是翔啊有没有大牛愿意牵头搞一个 deep learning project
java大概还有多久才能和C++一样快呢?computer graphics/vision 领域用哪种语言最多?
相关话题的讨论汇总
话题: opengl话题: 线程话题: 害惨话题: c++话题: thread