I think for tasks, the ISPC compiler may call pthread_create, and the threads are then handled by the OS to handle. The benefit of ISPC abstraction, though, is that we don't need to worry how it is implemented.
kayvonf
@o__o. You can actually see the implementation of ISPC tasks if you look in the /common directory of the Assignment 1 start code. (And it indeed spawns pthreads on Linux.)
yeq
The implementation of ISPC logical thread of control does not need to exploit operating system or pthread.
shiyqw
I think ISPC scheduler is much more simpler because it do not need to consider the case of sleep a thread. Is that true?
themj
@o_o If the ISPC compiler called pthread_create, wouldn't it have to use the operating system?
I think for tasks, the ISPC compiler may call pthread_create, and the threads are then handled by the OS to handle. The benefit of ISPC abstraction, though, is that we don't need to worry how it is implemented.
@o__o. You can actually see the implementation of ISPC tasks if you look in the
/common
directory of the Assignment 1 start code. (And it indeed spawns pthreads on Linux.)The implementation of ISPC logical thread of control does not need to exploit operating system or pthread.
I think ISPC scheduler is much more simpler because it do not need to consider the case of sleep a thread. Is that true?
@o_o If the ISPC compiler called pthread_create, wouldn't it have to use the operating system?