Hello there,
I'am developing a job schedule policy for Mali T628. But I am confused about Jos Slot and Address Space:
1. What does Job Slot mean? What is the relationship between job slot and shader core?
Mali T628 has 8 shader core. But I get the amount of job slot is 3 ( by printk gpu_props->num_job_slots).
2. What does Address Space mean?
Does it mean a space in memory to store process's context during context swicth?
Is context switch by hardware?
3. What the GPU do during soft and hard stop a job?
Thank you!
Hi wlc,
Is job slot a concept in InterCore Task Management in T628? How many shader cores in each job slot?
There is no heirarchical relationship between job slots and shader cores, they are distinct concepts. All shader cores are capable of processing any work from any job slot. The job slot mechanism is the concern of hardware outside of the shader core, and really is only there to facilitate the co-processing of vertex/compute and fragment loads in parallel.
Is Job Slot the same as "core groups"?
No they are distinct, core groups contain shader cores, job slots are not correlated with shader cores or core groups in any way. You will always have 3 job slots, regardless of the number of core groups.
And to some extent the job slot is like SM(Streaming Multiprocessor) in Nvidia cuda architecture and shader core is like cuda core, am I right?
Mali and NVidia architectures are really not comparable at this level in any meaningful sense. As Johan says, a CUDA "core" is probably most analogous to a part of a Mali ALU, and as T628 is vector based there are really 4 such things per ALU, so 8 per core, 48 per T628 MP6. This is a huge simplification.
Also, a CUDA core is a member of a warp, within which all cores and therefore threads must operate in lock step. T628 has no such restriction.
Hope this helps,
Chris