Tutorial Gaming Hardware Hacking Homebrew 4IFIR MOD: The simplest way to overclock | CPU 2397 MHz GPU 1536 MHz RAM 2131 MHz

Status
Not open for further replies.

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
29,012
Trophies
2
Location
Gaming Grotto
XP
26,679
Country
Poland
I do want. believe me, in the dictionary among kamikaze there is a picture of me
I can’t help but wonder how far you could take the Switch with an external VRM and proper cooling, as opposed to the baby fan and sink it has stock. This begs for a “non-portable” Switch implementation, something for me to fiddle around if I ever come across a nice faulty rope for experimentation, which I often do.
 

ZachyCatGames

Well-Known Member
Member
Joined
Jun 19, 2018
Messages
3,370
Trophies
1
Location
Hell
XP
3,729
Country
United States
I can’t help but wonder how far you could take the Switch with an external VRM and proper cooling, as opposed to the baby fan and sink it has stock.
On Erista, not very, everything goes to shit after 2GHz or so on the CPU and probably on GPU after a similar overclock (didn't play around with it nearly as much because I'm not a complete dumbass). With "goes to shit" meaning you just get exponentially higher power draw with little to no impact anywhere else
On Mariko, who knows, I'm not aware of anyone who's done any proper testing on mariko, quite curious myself :P

This begs for a “non-portable” Switch implementation, something for me to fiddle around if I ever come across a nice faulty rope for experimentation, which I often do.
It's called Copper/Calcio but it'll never reach the public eye :P
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
29,012
Trophies
2
Location
Gaming Grotto
XP
26,679
Country
Poland
On Erista, not very, everything goes to shit after 2GHz or so on the CPU and probably on GPU after a similar overclock (didn't play around with it nearly as much because I'm not a complete dumbass). With "goes to shit" meaning you just get exponentially higher power draw with little to no impact anywhere else
On Mariko, who knows, I'm not aware of anyone who's done any proper testing on mariko, quite curious myself :P

It's called Copper/Calcio but it'll never reach the public eye :P
Even on Erista stability and performance is a question of how much power you have, how stable it is and how cool you can keep the chip. You haven’t reached anywhere near peak until the silicon experiences some level of critical stability failure and locks up. Unless by “goes to shit” you mean instantaneously crashing or freezing, there is still headroom there, provided you have the right approach (and even that can be mitigated if you want to go to the extreme). Given the fact that Mariko is effectively the same chip, just made with smaller lithography (with some differences in microcode, I’d imagine), the performance difference can probably be calculated (if it’s linear, and linear is usually a good start for predictions). I suspect that with adequate cooling and proper, stable VRM phases you could push both further beyond. Honestly, it’s not *that* uncommon to see VRM’s completely separate from the main circuit in extreme overclocking - EVGA used to manufacture boards like that for enthusiasts. The cheapskate alternative is to simply cut one out of an existing circuit and reuse as needed, or build one yourself, but that’s not cost effective. Regarding the measurement of “impact”, that’s hard to gauge on console - the games are designed for specific hardware, after all. They’ll only ever run “so well”. A proper performance difference measurement would require a dedicated benchmark, not a game. You’ll even see diminishing returns in load time measurement - the bottleneck is the storage medium itself.
 
Last edited by Foxi4,

ZachyCatGames

Well-Known Member
Member
Joined
Jun 19, 2018
Messages
3,370
Trophies
1
Location
Hell
XP
3,729
Country
United States
Even on Erista stability and performance is a question of how much power you have, how stable it is and how cool you can keep the chip. You haven’t reached anywhere near peak until the silicon experiences some level of critical stability failure and locks up. Unless by “goes to shit” you mean instantaneously crashing or freezing, there is still headroom there, provided you have the right approach (and even that can be mitigated if you want to go to the extreme). Given the fact that Mariko is effectively the same chip, just made with smaller lithography (with some differences in microcode, I’d imagine), the performance difference can probably be calculated (if it’s linear, and linear is usually a good start for predictions). I suspect that with adequate cooling and proper, stable VRM phases you could push both further beyond. Honestly, it’s not *that* uncommon to see VRM’s completely separate from the main circuit in extreme overclocking - EVGA used to manufacture boards like that for enthusiasts. The cheapskate alternative is to simply cut one out of an existing circuit and reuse as needed, or build one yourself, but that’s not cost effective. Regarding the measurement of “impact”, that’s hard to gauge on console - the games are designed for specific hardware, after all. They’ll only ever run “so well”. A proper performance difference measurement would require a dedicated benchmark, not a game. You’ll even see diminishing returns in load time measurement - the bottleneck is the storage medium itself.
By "goes to shit" I mean you won't get anything out of it, though iirc it does hang at some point. It'll say it's running at x freq, will consume the appropriate amount of power, but won't perform any better or anything. Last time I benchmarked the CPU in Linux, 2193 and 2295 performed almost the same as 2091 and I believe 2397 immediately hanged on boot. No other limits should have been hit up to that point.
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
29,012
Trophies
2
Location
Gaming Grotto
XP
26,679
Country
Poland
By "goes to shit" I mean you won't get anything out of it, though iirc it does hang at some point. It'll say it's running at x freq, will consume the appropriate amount of power, but won't perform any better or anything. Last time I benchmarked the CPU in Linux, 2193 and 2295 performed almost the same as 2091 and I believe 2397 immediately hanged on boot. No other limits should have been hit up to that point.
Keep in mind that you’re driving the VRM into dust at those settings - it’s very possible that the amount of power pushed through the chip isn’t actually enough, or stable enough, to maintain the clock it’s reporting. That’s not an uncommon behaviour either. For all you know the number displayed may very well be erroneous, or switching rapidly between two frequencies trying to keep up, or a number of other oddities chips do when starved. Design-wise they’re the same chip, one is just etched smaller than the other, so they should theoretically reach similar performance, with the larger chip producing more waste heat and consuming more power. You’ll always get diminishing returns as you scale, but you shouldn’t be that far off Mariko just because of different lithography - it’s not “as good”, but not to the point of creating huge differences in performance. Smaller lithography generally provides better thermal and energy consumption characteristics, which by proxy lead to better overclocking possibilities.
 
Last edited by Foxi4,

3DSBricker

Not So Daily Active Member
Member
Joined
Apr 8, 2020
Messages
275
Trophies
0
Location
A place far away from you
XP
688
Country
Netherlands
Keep in mind that you’re driving the VRM into dust at those settings - it’s very possible that the amount of power pushed through the chip isn’t actually enough, or stable enough, to maintain the clock it’s reporting. That’s not an uncommon behaviour either. For all you know the number displayed may very well be erroneous, or switching rapidly between two frequencies trying to keep up, or a number of other oddities chips do when starved. Design-wise they’re the same chip, one is just etched smaller than the other, so they should theoretically reach similar performance, with the larger chip producing more waste heat and consuming more power. You’ll always get diminishing returns as you scale, but you shouldn’t be that far off Mariko just because of different lithography - it’s not “as good”, but not to the point of creating huge differences in performance. Smaller lithography generally provides better thermal and energy consumption characteristics, which by proxy lead to better overclocking possibilities.
Mariko CPU already is at its limit with 2397. It differs per chip what you can reach. I (definitely) lost the silicon lottery. Mine gets to 2370 (checked with a homebrew application called MHz and made by KazushiMe) while KazushiMe's Switch gets to like 2390. There's not really a way to check the GPU frequency but through benchmarks, at which 1305 and up performed the same, while there was more than enough headroom (905mV while up to 1250mV was unlocked). There's only 38.4MHz for GPU to overclock above its rated frequencies and thus quite pointless. I don't have Erista.
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
29,012
Trophies
2
Location
Gaming Grotto
XP
26,679
Country
Poland
Mariko CPU already is at its limit with 2397. It differs per chip what you can reach. I (definitely) lost the silicon lottery. Mine gets to 2370 (checked with a homebrew application called MHz and made by KazushiMe) while KazushiMe's Switch gets to like 2390. There's not really a way to check the GPU frequency but through benchmarks, at which 1305 and up performed the same, while there was more than enough headroom (905mV while up to 1250mV was unlocked). There's only 38.4MHz for GPU to overclock above its rated frequencies and thus quite pointless. I don't have Erista.
“Unlocked” doesn’t mean actually provided. What you’re looking at is a target, you don’t know the actual value unless you externally measure. Of course that’s neither here nor there, when you get that far out of spec you’re starting to scrape for every MHz just for the sake of it, performance uplift will be minimal, unmeasurable or non-existent.
 

deathblade200

Well-Known Member
Member
Joined
May 10, 2016
Messages
900
Trophies
0
XP
833
Country
United States
funny thing to me is this guy has posted just a ram version of this mod for Erista on his other site and not only did he just pull ALL his files off his SD and upload them instead of just the few files you need but everybody is also having issues with games not working, crashing, displaying artifacts, etc and he blames it on sigpatches which have NOTHING to do with overclocking. if this doesn't show this guy has no idea what he is doing nothing will.
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
29,012
Trophies
2
Location
Gaming Grotto
XP
26,679
Country
Poland
funny thing to me is this guy has posted just a ram version of this mod for Erista on his other site and not only did he just pull ALL his files off his SD and upload them instead of just the few files you need but everybody is also having issues with games not working, crashing, displaying artifacts, etc and he blames it on sigpatches which have NOTHING to do with overclocking. if this doesn't show this guy has no idea what he is doing nothing will.
I wouldn’t recommend playing on these settings lol, or any other significant overclock. I normally set a safe “daily driver” overclock at around 15% (give or take) over max stock (unless the architecture is specifically keen on overclocking). Even Nintendo doesn’t push it in Boost Mode for an extended period of time, just for loading. Overclocking by beastly numbers is for testing, flexing and extreme modding, a bog standard unit isn’t made for this kind of thing 24/7.

What’s interesting about Erista is that, according to the spec sheet, it’s divided into 4x A57 cores @ 1.9GHz peak, 4x A53 cores @ 1.3GHz peak and a Maxwell GPU @ 1GHz peak, and I’m not sure how that translates to overclocking tools on the Switch as I haven’t really dabbled in it much myself yet. In theory those should be perfectly safe settings to run for a relatively “extended” period of time, provided you supply it enough power to the chip and cool it accordingly - NVidia recommends them as their “turbo window”. The Switch isn’t some kind of magical device that’s exempt from the chip’s specification. Of course there’s always the problem of Nintendo’s board having thin traces, but as far as the cores are concerned, they really shouldn’t be that upset if you nudge them higher.
 

ZachyCatGames

Well-Known Member
Member
Joined
Jun 19, 2018
Messages
3,370
Trophies
1
Location
Hell
XP
3,729
Country
United States
What’s interesting about Erista is that, according to the spec sheet, it’s divided into 4x A57 cores @ 1.9GHz peak, 4x A53 cores @ 1.3GHz peak and a Maxwell GPU @ 1GHz peak, and I’m not sure how that translates to overclocking tools on the Switch as I haven’t really dabbled in it much myself yet. In theory those should be perfectly safe settings to run for a relatively “extended” period of time, provided you supply it enough power to the chip and cool it accordingly - NVidia recommends them as their “turbo window”. The Switch isn’t some kind of magical device that’s exempt from the chip’s specification. Of course there’s always the problem of Nintendo’s board having thin traces, but as far as the cores are concerned, they really shouldn’t be that upset if you nudge them higher.
It's not quite that simple. They have like 10 unique device binnings or smth stupid that vary from 1.4GHz all the way up to 2.2GHz on the CPU. Nvidia inspects them wherever and send them out to whoever depending on what range they fall into. Foster (2015 Shield TV) was binned for 2.2GHz CPU/1GHz GPU, Darcy (2017 Shield TV) was 1.9GHz CPU/1GHz GPU, Jetson TX1 was 1.7GHz CPU/9xxMHz GPU, Odin (switch) was 1.7GHz CPU/921MHz GPU. All run at a max of 1227mV at max CPU and 1150 or w/e at max GPU, I think porg (Jetson Nano) is the only exception.
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
29,012
Trophies
2
Location
Gaming Grotto
XP
26,679
Country
Poland
It's not quite that simple. They have like 10 unique device binnings or smth stupid that vary from 1.4GHz all the way up to 2.2GHz on the CPU. Nvidia inspects them wherever and send them out to whoever depending on what range they fall into. Foster (2015 Shield TV) was binned for 2.2GHz CPU/1GHz GPU, Darcy (2017 Shield TV) was 1.9GHz CPU/1GHz GPU, Jetson TX1 was 1.7GHz CPU/9xxMHz GPU, Odin (switch) was 1.7GHz CPU/921MHz GPU. All run at a max of 1227mV at max CPU and 1150 or w/e at max GPU, I think porg (Jetson Nano) is the only exception.
In all fairness, those are different internal SKU’s. I’m talking specifically about the Erista spec, and that’s the figures I dug up for it. Obviously different binning will lead to different peak results, but they shouldn’t vary by wild margins, they’re simply downclocked accordingly so that the cores perform at their best with minimal failure and error rate. This kind of thinking lends credence to “factory OC” GPU’s which are, more often than not, complete snake oil.
 

ZachyCatGames

Well-Known Member
Member
Joined
Jun 19, 2018
Messages
3,370
Trophies
1
Location
Hell
XP
3,729
Country
United States
In all fairness, those are different internal SKU’s. I’m talking specifically about the Erista spec, and that’s the figures I dug up for it. Obviously different binning will lead to different peak results, but they shouldn’t vary by wild margins, they’re simply downclocked accordingly so that the cores perform at their best with minimal failure and error rate. This kind of thinking lends credence to “factory OC” GPU’s which are, more often than not, complete snake oil.
The spec sheet is "meh" and not a great representation of what it's capable of, some SoCs may be completely incapable of running at those speeds. The A53 cores it mentions are also broken/disabled on all known hardware including dev boards (jetsons, SDEV, etc).
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
29,012
Trophies
2
Location
Gaming Grotto
XP
26,679
Country
Poland
The spec sheet is "meh" and not a great representation of what it's capable of, some SoCs may be completely incapable of running at those speeds. The A53 cores it mentions are also broken/disabled on all known hardware including dev boards (jetsons, SDEV, etc).
If I were a betting man, I would peg the manufacturing tolerance of the chip at 5%. Any non-working or under-performing cores below the number specified in the datasheet normally necessitate disqualification of a chip from its specific range. “Faulty” chips like these are normally used in stop gap “mid-range” SKU’s as a method of recycling parts that otherwise don’t meet the spec - it’s not uncommon to see desktop CPU’s with a certain number of cores disabled outright, down to the level of the lower SKU, with only the highest-performing cores being active. This is a known quantity in manufacturing - to give an example from the same industry, when Sony and Microsoft ordered their custom SOC’s from AMD, they knew out of the gate that some CU’s will be faulty or underperforming out of the box, so they designed them with more CU’s than they actually needed and disabled the least-performant ones at final stages of APU assembly. In the case of the Xbox One, you had 14 CU’s total with 2 of them disabled for the sole purpose of increasing yields - it gives the manufacturer wiggle room. In this regard the Switch is no different. Better-binned chips *will* clock higher, absolutely, but the tolerances are tight. There’s a number of reasons why NVidia would clock down chips besides manufacturing defects, even below the level specified in the spec. Mix in a good deal of silicon lottery and you can get wildly different results depending on the unit in question. That’s generally why I don’t like “chip X won’t do it” kind of thinking - you don’t know that until you coax it just right.
 

ZachyCatGames

Well-Known Member
Member
Joined
Jun 19, 2018
Messages
3,370
Trophies
1
Location
Hell
XP
3,729
Country
United States
If I were a betting man, I would peg the manufacturing tolerance of the chip at 5%. Any non-working or under-performing cores below the number specified in the datasheet normally necessitate disqualification of a chip from its specific range. “Faulty” chips like these are normally used in stop gap “mid-range” SKU’s as a method of recycling parts that otherwise don’t meet the spec - it’s not uncommon to see desktop CPU’s with a certain number of cores disabled outright, down to the level of the lower SKU, with only the highest-performing cores being active. This is a known quantity in manufacturing - to give an example from the same industry, when Sony and Microsoft ordered their custom SOC’s from AMD, they knew out of the gate that some CU’s will be faulty or underperforming out of the box, so they designed them with more CU’s than they actually needed and disabled the least-performant ones at final stages of APU assembly. In the case of the Xbox One, you had 14 CU’s total with 2 of them disabled for the sole purpose of increasing yields - it gives the manufacturer wiggle room. In this regard the Switch is no different. Better-binned chips *will* clock higher, absolutely, but the tolerances are tight. There’s a number of reasons why NVidia would clock down chips besides manufacturing defects, even below the level specified in the spec. Mix in a good deal of silicon lottery and you can get wildly different results depending on the unit in question. That’s generally why I don’t like “chip X won’t do it” kind of thinking - you don’t know that until you coax it just right.
I think there might be a slight misunderstanding. All the different binning ranges are different SKUs (as per the value in FUSE_SKU_INFO), but they're all called Erista, Tegra210/T210, Tegra X1, or whatever, there's not much of a naming differentiation between them. They would produce a bunch of them and check them all, the ones that should be able to properly do 2GHz CPU or whatever at 1227mV or lower would go to be used in Shield devices, lower quality ones would go to be used in Switch devices, and the worst ones would go to be used in the Jetson Nanos, etc etc.
Although the variations between SoCs in the same SKU can be wild, I've seen Erista Switches that need the full 1227mV to do 1785 CPU, while other can do 1785 CPU at about 1000mV.
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
29,012
Trophies
2
Location
Gaming Grotto
XP
26,679
Country
Poland
I think there might be a slight misunderstanding. All the different binning ranges are different SKUs (as per the value in FUSE_SKU_INFO), but they're all called Erista, Tegra210/T210, Tegra X1, or whatever, there's not much of a naming differentiation between them. They would produce a bunch of them and check them all, the ones that should be able to properly do 2GHz CPU or whatever at 1227mV or lower would go to be used in Shield devices, lower quality ones would go to be used in Switch devices, and the worst ones would go to be used in the Jetson Nanos, etc etc.
Although the variations between SoCs in the same SKU can be wild, I've seen Erista Switches that need the full 1227mV to do 1785 CPU, while other can do 1785 CPU at about 1000mV.
No, there’s no misunderstanding, I’m well-aware. :P

EDIT: Just to clear up what I mean by tolerance of 5%, here’s an example. The company aims at producing a chip that will be stable at 1.9GHz. 5% of that is 100MHz - chips will, generally, “peak” around 1800MHz-2100MHz at “a voltage”, how high isn’t exactly important to us at this stage. Going beyond that peak would be considered a “golden sample”, anything below that bottom tier is “extremely bad luck”, or a straight disqualified chip. From those A, B and C bins you make out SKU’s, having their other characteristics in mind, and you clock them in a way that’s most optimal for a designated purpose. I hope that clears up what I meant. I am confident that even the crappiest Erista can reach the neighbourhood of 1.8GHz, it’s just a matter of how hard you gotta ride it to get there (possibly beyond what the Switch as a device can do, of course). Similarly, many will perform well beyond expectations.
 
Last edited by Foxi4,

SciresM

Developer
Developer
Joined
Mar 21, 2014
Messages
954
Trophies
2
Age
31
XP
7,782
Country
United States

Just on the record, if you've modified Atmosphere's source code and are distributing binaries, you are obligated to share the source code for your changes per the GPLv2 license Atmosphere is available under.

I use GPLv2 because I think it's important for the health of the scene that if someone makes improvements, they're available for everyone to analyze and integrate.

It's not really worth my time to pursue GPL violations like this, so I'm not going to come after you or anything, but I would ask you politely to please do the right thing, if only out of respect for the hard work I put in to my passion project.

I'm glad that you enjoy using Atmosphere.
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
29,012
Trophies
2
Location
Gaming Grotto
XP
26,679
Country
Poland
Just on the record, if you've modified Atmosphere's source code and are distributing binaries, you are obligated to share the source code for your changes per the GPLv2 license Atmosphere is available under.

I use GPLv2 because I think it's important for the health of the scene that if someone makes improvements, they're available for everyone to analyze and integrate.

It's not really worth my time to pursue GPL violations like this, so I'm not going to come after you or anything, but I would ask you politely to please do the right thing, if only out of respect for the hard work I put in to my passion project.

I'm glad that you enjoy using Atmosphere.
I’m in contact with Cooler discussing a different implementation of his package that would be compliant with the licenses of the individual components. If he fails to comply, I’ll be removing the package regardless of whether a rights holder reports it or not - I’m obligated to do so. A license means nothing unless we execute it, as pleasantly accommodating as you are. :)
 

SciresM

Developer
Developer
Joined
Mar 21, 2014
Messages
954
Trophies
2
Age
31
XP
7,782
Country
United States
I’m in contact with Cooler discussing a different implementation of his package that would be compliant with the licenses the individual components. If he fails to do so, I’ll be removing the package regardless of whether a rights holder reports it or not - I’m obligated to do so. A license means nothing unless we execute it, as pleasantly accommodating as you are. :)
Thank you; I do appreciate it.
 
Status
Not open for further replies.
General chit-chat
Help Users
  • No one is chatting at the moment.
  • KenniesNewName @ KenniesNewName:
    Next gen will probably be all portable
    Gift
  • T @ trimesh:
    Some things (like Super Famicom games) just feel right when you play them using the original hardware and a CRT
    Gift
  • KenniesNewName @ KenniesNewName:
    The PS tablet
    Gift
  • mthrnite tempBOT: @ mthrnite
    switches the box from tv to game
    Gift
  • T @ trimesh:
    Not so sure about that - the tendency for "graphics uber alles" tends to lead to very high power consumption
    Gift
  • KenniesNewName @ KenniesNewName:
    If you look at what's now portability graphics are catching up to console quality
    Gift
  • KenniesNewName @ KenniesNewName:
    Nintendy is a huge example of not everyone caring about powerful specs most that do will be hardcore PC players anyway
    Gift
  • T @ trimesh:
    The thing is that the IATA rules impose a pretty hard limit of 100Wh on battery sizes for lithium batteries - and it doesn't look like Li is going away soon
    Gift
  • T @ trimesh:
    So if you want (say) 4 hours of runtime you need a maximum system-level power consumption of 25W
    Gift
  • KenniesNewName @ KenniesNewName:
    Yeah but we already have AAA titles looking fine on tablet form 1080p displays
    Gift
  • KenniesNewName @ KenniesNewName:
    Human eye can only tell so much of a difference
    Gift
  • T @ trimesh:
    For reference, the PS5 is rated at 350W and the Xbox series X at 275W - and that's console only, without any display
    Gift
  • KenniesNewName @ KenniesNewName:
    But the future always holds performance never know what the aliens will donate from their left over tech
    Gift
  • T @ trimesh:
    Maybe :) - but batteries have turned out to be a pretty hard problem
    Gift
  • KenniesNewName @ KenniesNewName:
    Like I said most that will truly care will already be hard core gaming pcers
    Gift
  • T @ trimesh:
    And DF subscribers :)
    Gift
  • KenniesNewName @ KenniesNewName:
    I bet you could find a neighbor with a ps5 and they'd have no idea what the word spec means
    Gift
  • T @ trimesh:
    Yeah probably - people on forums seem to care a lot, but they are heavily self-selected
    Gift
  • KenniesNewName @ KenniesNewName:
    Most on forums try to get a good learning of actual tech
    Gift
  • Dark_Phoras @ Dark_Phoras:
    Papaya, so good
    Gift
  • KenniesNewName @ KenniesNewName:
    Only 13 more titles to go on ps3 yay
    Gift
  • Dark_Phoras @ Dark_Phoras:
    I still have a remnant of the taste of the papaya
    Gift
  • Dark_Phoras @ Dark_Phoras:
    @KenniesNewName June will come sooner than the end of that process
    Gift
  • Psionic Roshambo @ Psionic Roshambo:
    PS3 had horrible speeds off the drive
    Gift
  • Psionic Roshambo @ Psionic Roshambo:
    I always wondered why, but I am pretty sure it was trying to reduce costs
    Gift
    Psionic Roshambo @ Psionic Roshambo: I always wondered why, but I am pretty sure it was trying to reduce costs