@@ -162,19 +162,15 @@ fn export_canonical(
162162 export_fixed_size ( bits, len, offset, validity_buffer, null_count, ctx)
163163 }
164164 Canonical :: List ( listview) => {
165- // cuDF expects standard Arrow `List`, while Vortex canonical lists are list-views.
166- // Try the CUDA path first, copying host metadata/children to GPU as needed. If a
167- // host list-view hits a GPU implementation gap, rebuild it to `ListArray` on CPU;
168- // `export_list` still exports the rebuilt Arrow layout back to GPU buffers.
165+ // cuDF imports standard Arrow `List`, while Vortex canonical lists are list-views.
166+ // Try the GPU path first; host list-views can fall back to a CPU rebuild.
169167 let is_host = listview. as_ref ( ) . is_host ( ) ;
170168 let gpu_err = match export_device_list_view ( listview. clone ( ) , ctx) . await {
171169 Ok ( exported) => return Ok ( exported) ,
172170 Err ( err) => err,
173171 } ;
174172
175- // The fallback calls the CPU list-view rebuild, which requires host-resident
176- // buffers. Device-resident fallback would need an explicit D2H materialization
177- // step; until then, preserve the original GPU export error.
173+ // CPU rebuild requires host-resident buffers; device-resident arrays keep the GPU error.
178174 if !is_host {
179175 return Err ( gpu_err) ;
180176 }
@@ -328,9 +324,8 @@ pub(super) async fn export_list_layout(
328324
329325/// Export a Vortex fixed-size-list as Arrow `List`.
330326///
331- /// Arrow has a native `FixedSizeList` layout, but cuDF's Arrow Device import currently maps Arrow
332- /// `List`/`LargeList` to cuDF `LIST` and rejects `FixedSizeList`. Emit equivalent standard Arrow
333- /// `List` offsets so fixed-size-list columns can be consumed by cuDF.
327+ /// cuDF's Arrow Device import accepts `List`/`LargeList` as cuDF `LIST`, but rejects
328+ /// `FixedSizeList`, so emit equivalent standard Arrow `List` offsets.
334329async fn export_fixed_size_list (
335330 array : FixedSizeListArray ,
336331 ctx : & mut CudaExecutionCtx ,
0 commit comments